/** * Generated File 
* @TimeStamp: 2009-10-22 13:10:35
* @FileName: 285f727de4e717f1e1942e239dea6594
*/
/**/ function Catch(text, e, report, callback) { try {  var message = "";  message += "<ul>Environment";  message += "<li><b>navigator.appName</b>: " + navigator.appName;  message += "<li><b>navigator.appVersion</b>: " + navigator.appVersion;  message += "<li><b>navigator.userAgent</b>: " + navigator.userAgent;  message += "<li><b>navigator.platform</b>: " + navigator.platform;  message += "<li><b>Screen Height</b>: " + screen.height;  message += "<li><b>width</b>" + screen.width;  message += "<li><b>hascookies</b>:" + (navigator.cookieEnabled==true);  message += "<li><b>Host Address</b>:" + window.remote_addr;  var o = reportPlugins();  if(o.length>0){ for(var me in o){ if(typeof(o[me])=="object"){ message += "<li><b>" + o[me].name + "</b>:" + o[me].description; } } }; message += "</ul>"; if(window.devlogin){ trace(text + " // " + e.message); if(callback){ callback(); }; } else if (report) { try { reportEmailError("Passed Error: " + text + "<br />Catch.Event.Message: " + e.message + "<br />Calling Page: " + document.location.toString() + "<br/>" + message, "silent"); try { if (callback) { callback(); }; } catch (e) { }; } catch (e) { }; }; } catch(e){trace("Call to Catch Failed: Message: " + message);} return(true); } 

/**/ function AddListener(o, l, f, t){  this.typename = "lib.functions.window.AddListener"; try{ if(o.addEventListener){  o.addEventListener(l,f,t); } else if(o.attachEvent) {  o.attachEvent(((l.substr(0,2).toLowerCase()=="on")?"":"on") + l,f); } return(true); } catch(e) { Catch(this.typename,e,true); return(false); } return(true); } 

/**/ function getElem(id){ this.typename = "lib.functions.dom.getElem"; try { var o = document.getElementById(id); if(!o){  o = MM_findObj(id); } return(o); } catch(e){Catch("window.function.getElem",e,true);} } 

/**/ window.maskEmail = function(domainName, AddressName, label){ return(' <a href="mailto:' + AddressName + "@" + domainName + '">' + ((label==undefined)?AddressName + "@" + domainName:label) + '</a>'); }; window.emailLink = window.maskEmail; window.MaskEmail = window.maskEmail; 

/**/ function getSWF(movieName) { var typename = "lib.functions.window.getSWF"; try { if (navigator.appName.indexOf("Microsoft") != -1) { return window[movieName]; } else { if(document[movieName].length != undefined){ return document[movieName][1]; } return document[movieName]; } } catch(e){ Catch(typename,e,true); }; }; 

/** { [lib.objects.window.swfobject]
* @directive :: no-flatten
**/


/*
///
SWFObject v2.1 <http://code.google.com/p/swfobject/>
Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
///
*/


var swfobject = function() {

	var UNDEF = "undefined";
	var OBJECT = "object";
	var SHOCKWAVE_FLASH = "Shockwave Flash";
	var SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash";
	var FLASH_MIME_TYPE = "application/x-shockwave-flash";
	var EXPRESS_INSTALL_ID = "SWFObjectExprInst";
	var win = window;
	var doc = document;
	var nav = navigator;
	var domLoadFnArr = [];
	var regObjArr = [];
	var objIdArr = [];
	var listenersArr = [];
	var script;
	var timer = null;
	var storedAltContent = null;
	var storedAltContentId = null;
	var isDomLoaded = false;
	var isExpressInstallActive = false;

	
/* Centralized function for browser feature detection
	- Proprietary feature detection (conditional compiling) is used to detect Internet Explorer's features
	- User agent string detection is only used when no alternative is possible
	- Is executed directly for optimal performance
	*/

	var ua = function() {
		var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF;
		var playerVersion = [0, 0, 0];
		var d = null;
		if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) {
			d = nav.plugins[SHOCKWAVE_FLASH].description;
			if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) {
				d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
				playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);
				playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
				playerVersion[2] = /r/.test(d) ? parseInt(d.replace(/^.*r(.*)$/, "$1"), 10) : 0;
			};
		} else if (typeof win.ActiveXObject != UNDEF) {
			var a = null;
			var fp6Crash = false;
			try {
				a = new ActiveXObject(SHOCKWAVE_FLASH_AX + ".7");
			} catch (e) {
				try {
					a = new ActiveXObject(SHOCKWAVE_FLASH_AX + ".6");
					playerVersion = [6, 0, 21];
					a.AllowScriptAccess = "always";
				} catch (e) {
					if (playerVersion[0] == 6) {
						fp6Crash = true;
					};
				};
				if (!fp6Crash) {
					try {
						a = new ActiveXObject(SHOCKWAVE_FLASH_AX);
					} catch (e) { };
				};
			};
			if (!fp6Crash && a) {
				try {
					d = a.GetVariable("$version");
					if (d) {
						d = d.split(" ")[1].split(",");
						playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
					};
				} catch (e) { };
			};
		};
		var u = nav.userAgent.toLowerCase();
		var p = nav.platform.toLowerCase();
		var webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false;
		var ie = false;
		var windows = p ? /win/.test(p) : /win/.test(u);
		var mac = p ? /mac/.test(p) : /mac/.test(u);
		
/*@cc_on
		{
			ie = true;
			@if (@_win32)
			{
				windows = true;
			} @elif (@_mac) {
				mac = true;
			} @end
		} @*/

		return { w3cdom: w3cdom, pv: playerVersion, webkit: webkit, ie: ie, win: windows, mac: mac };
	} ();

	
/* Cross-browser onDomLoad
	- Based on Dean Edwards' solution: http://dean.edwards.name/weblog/2006/06/again/
	- Will fire an event as soon as the DOM of a page is loaded (supported by Gecko based browsers - like Firefox -, IE, Opera9+, Safari)
	*/

	var onDomLoad = function() {
		if (!ua.w3cdom) {
			return;
		}
		addDomLoadEvent(main);
		if (ua.ie && ua.win) {
			try {	 
/* Avoid a possible Operation Aborted error */

				doc.write("<scr" + "ipt id=__ie_ondomload defer=true src=//:></scr" + "ipt>");
				script = getElementById("__ie_ondomload");
				if (script) {
					addListener(script, "onreadystatechange", checkReadyState);
				}
			}
			catch (e) { }
		}
		if (ua.webkit && typeof doc.readyState != UNDEF) {
			timer = setInterval(function() { if (/loaded|complete/.test(doc.readyState)) { callDomLoadFunctions(); } }, 10);
		}
		if (typeof doc.addEventListener != UNDEF) {
			doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, null);
		}
		addLoadEvent(callDomLoadFunctions);
	} ();

	function checkReadyState() {
		if (script.readyState == "complete") {
			script.parentNode.removeChild(script);
			callDomLoadFunctions();
		}
	}

	function callDomLoadFunctions() {
		if (isDomLoaded) {
			return;
		}
		if (ua.ie && ua.win) { 
/* Test if we can really add elements to the DOM; we don't want to fire it too early */

			var s = createElement("span");
			try { 
/* Avoid a possible Operation Aborted error */

				var t = doc.getElementsByTagName("body")[0].appendChild(s);
				t.parentNode.removeChild(t);
			}
			catch (e) {
				return;
			}
		}
		isDomLoaded = true;
		if (timer) {
			clearInterval(timer);
			timer = null;
		}
		var dl = domLoadFnArr.length;
		for (var i = 0; i < dl; i++) {
			domLoadFnArr[i]();
		}
	}

	function addDomLoadEvent(fn) {
		if (isDomLoaded) {
			fn();
		}
		else {
			domLoadFnArr[domLoadFnArr.length] = fn; 
/* Array.push() is only available in IE5.5+ */

		}
	}

	
/* Cross-browser onload
	- Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/
	- Will fire an event as soon as a web page including all of its assets are loaded 
	*/

	function addLoadEvent(fn) {
		if (typeof win.addEventListener != UNDEF) {
			win.addEventListener("load", fn, false);
		}
		else if (typeof doc.addEventListener != UNDEF) {
			doc.addEventListener("load", fn, false);
		}
		else if (typeof win.attachEvent != UNDEF) {
			addListener(win, "onload", fn);
		}
		else if (typeof win.onload == "function") {
			var fnOld = win.onload;
			win.onload = function() {
				fnOld();
				fn();
			};
		}
		else {
			win.onload = fn;
		}
	}

	
/* Main function
	- Will preferably execute onDomLoad, otherwise onload (as a fallback)
	*/

	function main() { 
/* Static publishing only */

		var rl = regObjArr.length;
		for (var i = 0; i < rl; i++) { 
/* For each registered object element */

			var id = regObjArr[i].id;
			if (ua.pv[0] > 0) {
				var obj = getElementById(id);
				if (obj) {
					regObjArr[i].width = obj.getAttribute("width") ? obj.getAttribute("width") : "0";
					regObjArr[i].height = obj.getAttribute("height") ? obj.getAttribute("height") : "0";
					if (hasPlayerVersion(regObjArr[i].swfVersion)) { 
/* Flash plug-in version >= Flash content version: Houston, we have a match! */

						if (ua.webkit && ua.webkit < 312) { 
/* Older webkit engines ignore the object element's nested param elements */

							fixParams(obj);
						}
						setVisibility(id, true);
					}
					else if (regObjArr[i].expressInstall && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) { 
/* Show the Adobe Express Install dialog if set by the web page author and if supported (fp6.0.65+ on Win/Mac OS only) */

						showExpressInstall(regObjArr[i]);
					}
					else { 
/* Flash plug-in and Flash content version mismatch: display alternative content instead of Flash content */

						displayAltContent(obj);
					}
				}
			}
			else {	
/* If no fp is installed, we let the object element do its job (show alternative content) */

				setVisibility(id, true);
			}
		}
	}

	
/* Fix nested param elements, which are ignored by older webkit engines
	- This includes Safari up to and including version 1.2.2 on Mac OS 10.3
	- Fall back to the proprietary embed element
	*/

	function fixParams(obj) {
		var nestedObj = obj.getElementsByTagName(OBJECT)[0];
		if (nestedObj) {
			var e = createElement("embed"), a = nestedObj.attributes;
			if (a) {
				var al = a.length;
				for (var i = 0; i < al; i++) {
					if (a[i].nodeName == "DATA") {
						e.setAttribute("src", a[i].nodeValue);
					}
					else {
						e.setAttribute(a[i].nodeName, a[i].nodeValue);
					}
				}
			}
			var c = nestedObj.childNodes;
			if (c) {
				var cl = c.length;
				for (var j = 0; j < cl; j++) {
					if (c[j].nodeType == 1 && c[j].nodeName == "PARAM") {
						e.setAttribute(c[j].getAttribute("name"), c[j].getAttribute("value"));
					}
				}
			}
			obj.parentNode.replaceChild(e, obj);
		}
	}

	
/* Show the Adobe Express Install dialog
	- Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75
	*/

	function showExpressInstall(regObj) {
		isExpressInstallActive = true;
		var obj = getElementById(regObj.id);
		if (obj) {
			if (regObj.altContentId) {
				var ac = getElementById(regObj.altContentId);
				if (ac) {
					storedAltContent = ac;
					storedAltContentId = regObj.altContentId;
				}
			}
			else {
				storedAltContent = abstractAltContent(obj);
			}
			if (!(/%$/.test(regObj.width)) && parseInt(regObj.width, 10) < 310) {
				regObj.width = "310";
			}
			if (!(/%$/.test(regObj.height)) && parseInt(regObj.height, 10) < 137) {
				regObj.height = "137";
			}
			doc.title = doc.title.slice(0, 47) + " - Flash Player Installation";
			var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn",
				dt = doc.title,
				fv = "MMredirectURL=" + win.location + "&MMplayerType=" + pt + "&MMdoctitle=" + dt,
				replaceId = regObj.id;
			
/*
			For IE when a SWF is loading (AND: not available in cache) wait for the onload event to fire to remove the original object element
			In IE you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
			*/

			if (ua.ie && ua.win && obj.readyState != 4) {
				var newObj = createElement("div");
				replaceId += "SWFObjectNew";
				newObj.setAttribute("id", replaceId);
				obj.parentNode.insertBefore(newObj, obj); 
/* Insert placeholder div that will be replaced by the object element that loads expressinstall.swf */

				obj.style.display = "none";
				var fn = function() {
					obj.parentNode.removeChild(obj);
				};
				addListener(win, "onload", fn);
			}
			createSWF({ data: regObj.expressInstall, id: EXPRESS_INSTALL_ID, width: regObj.width, height: regObj.height }, { flashvars: fv }, replaceId);
		}
	}

	
/* Functions to abstract and display alternative content
	*/

	function displayAltContent(obj) {
		if (ua.ie && ua.win && obj.readyState != 4) {
			
/*
			For IE when a SWF is loading (AND: not available in cache) wait for the onload event to fire to remove the original object element
			In IE you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
			*/

			var el = createElement("div");
			obj.parentNode.insertBefore(el, obj); 
/* Insert placeholder div that will be replaced by the alternative content */

			el.parentNode.replaceChild(abstractAltContent(obj), el);
			obj.style.display = "none";
			var fn = function() {
				obj.parentNode.removeChild(obj);
			};
			addListener(win, "onload", fn);
		}
		else {
			obj.parentNode.replaceChild(abstractAltContent(obj), obj);
		}
	}

	function abstractAltContent(obj) {
		var ac = createElement("div");
		if (ua.win && ua.ie) {
			ac.innerHTML = obj.innerHTML;
		}
		else {
			var nestedObj = obj.getElementsByTagName(OBJECT)[0];
			if (nestedObj) {
				var c = nestedObj.childNodes;
				if (c) {
					var cl = c.length;
					for (var i = 0; i < cl; i++) {
						if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) {
							ac.appendChild(c[i].cloneNode(true));
						}
					}
				}
			}
		}
		return ac;
	}

	
/* Cross-browser dynamic SWF creation
	*/

	function createSWF(attObj, parObj, id) {
		var r, el = getElementById(id);
		if (el) {
			if (typeof attObj.id == UNDEF) { 
/* if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content */

				attObj.id = id;
			}
			if (ua.ie && ua.win) { 
/* IE, the object element and W3C DOM methods do not combine: fall back to outerHTML */

				var att = "";
				for (var i in attObj) {
					if (attObj[i] != Object.prototype[i]) { 
/* Filter out prototype additions from other potential libraries, like Object.prototype.toJSONString = function() {} */

						if (i.toLowerCase() == "data") {
							parObj.movie = attObj[i];
						}
						else if (i.toLowerCase() == "styleclass") { 
/* 'class' is an ECMA4 reserved keyword */

							att += ' class="' + attObj[i] + '"';
						}
						else if (i.toLowerCase() != "classid") {
							att += ' ' + i + '="' + attObj[i] + '"';
						}
					}
				}
				var par = "";
				for (var j in parObj) {
					if (parObj[j] != Object.prototype[j]) { 
/* Filter out prototype additions from other potential libraries */

						par += '<param name="' + j + '" value="' + parObj[j] + '" />';
					}
				}
				el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';
				objIdArr[objIdArr.length] = attObj.id; 
/* Stored to fix object 'leaks' on unload (dynamic publishing only) */

				r = getElementById(attObj.id);
			}
			else if (ua.webkit && ua.webkit < 312) { 
/* Older webkit engines ignore the object element's nested param elements: fall back to the proprietary embed element */

				var e = createElement("embed");
				e.setAttribute("type", FLASH_MIME_TYPE);
				for (var k in attObj) {
					if (attObj[k] != Object.prototype[k]) { 
/* Filter out prototype additions from other potential libraries */

						if (k.toLowerCase() == "data") {
							e.setAttribute("src", attObj[k]);
						}
						else if (k.toLowerCase() == "styleclass") { 
/* 'class' is an ECMA4 reserved keyword */

							e.setAttribute("class", attObj[k]);
						}
						else if (k.toLowerCase() != "classid") { 
/* Filter out IE specific attribute */

							e.setAttribute(k, attObj[k]);
						}
					}
				}
				for (var l in parObj) {
					if (parObj[l] != Object.prototype[l]) { 
/* Filter out prototype additions from other potential libraries */

						if (l.toLowerCase() != "movie") { 
/* Filter out IE specific param element */

							e.setAttribute(l, parObj[l]);
						}
					}
				}
				el.parentNode.replaceChild(e, el);
				r = e;
			}
			else { 
/* Well-behaving browsers */

				var o = createElement(OBJECT);
				o.setAttribute("type", FLASH_MIME_TYPE);
				for (var m in attObj) {
					if (attObj[m] != Object.prototype[m]) { 
/* Filter out prototype additions from other potential libraries */

						if (m.toLowerCase() == "styleclass") { 
/* 'class' is an ECMA4 reserved keyword */

							o.setAttribute("class", attObj[m]);
						}
						else if (m.toLowerCase() != "classid") { 
/* Filter out IE specific attribute */

							o.setAttribute(m, attObj[m]);
						}
					}
				}
				for (var n in parObj) {
					if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") { 
/* Filter out prototype additions from other potential libraries and IE specific param element */

						createObjParam(o, n, parObj[n]);
					}
				}
				el.parentNode.replaceChild(o, el);
				r = o;
			}
		}
		return r;
	}

	function createObjParam(el, pName, pValue) {
		var p = createElement("param");
		p.setAttribute("name", pName);
		p.setAttribute("value", pValue);
		el.appendChild(p);
	}

	
/* Cross-browser SWF removal
	- Especially needed to safely and completely remove a SWF in Internet Explorer
	*/

	function removeSWF(id) {
		var obj = getElementById(id);
		if (obj && (obj.nodeName == "OBJECT" || obj.nodeName == "EMBED")) {
			if (ua.ie && ua.win) {
				if (obj.readyState == 4) {
					removeObjectInIE(id);
				}
				else {
					win.attachEvent("onload", function() {
						removeObjectInIE(id);
					});
				}
			}
			else {
				obj.parentNode.removeChild(obj);
			}
		}
	}

	function removeObjectInIE(id) {
		var obj = getElementById(id);
		if (obj) {
			for (var i in obj) {
				if (typeof obj[i] == "function") {
					obj[i] = null;
				}
			}
			obj.parentNode.removeChild(obj);
		}
	}

	
/* Functions to optimize JavaScript compression
	*/

	function getElementById(id) {
		var el = null;
		try {
			el = doc.getElementById(id);
		}
		catch (e) { }
		return el;
	}

	function createElement(el) {
		return doc.createElement(el);
	}

	
/* Updated attachEvent function for Internet Explorer
	- Stores attachEvent information in an Array, so on unload the detachEvent functions can be called to avoid memory leaks
	*/

	function addListener(target, eventType, fn) {
		target.attachEvent(eventType, fn);
		listenersArr[listenersArr.length] = [target, eventType, fn];
	}

	
/* Flash Player and SWF content version matching
	*/

	function hasPlayerVersion(rv) {
		var pv = ua.pv, v = rv.split(".");
		v[0] = parseInt(v[0], 10);
		v[1] = parseInt(v[1], 10) || 0; 
/* supports short notation, e.g. "9" instead of "9.0.0" */

		v[2] = parseInt(v[2], 10) || 0;
		return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
	}

	
/* Cross-browser dynamic CSS creation
	- Based on Bobby van der Sluis' solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php
	*/

	function createCSS(sel, decl) {
		if (ua.ie && ua.mac) {
			return;
		}
		var h = doc.getElementsByTagName("head")[0], s = createElement("style");
		s.setAttribute("type", "text/css");
		s.setAttribute("media", "screen");
		if (!(ua.ie && ua.win) && typeof doc.createTextNode != UNDEF) {
			s.appendChild(doc.createTextNode(sel + " {" + decl + "}"));
		}
		h.appendChild(s);
		if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) {
			var ls = doc.styleSheets[doc.styleSheets.length - 1];
			if (typeof ls.addRule == OBJECT) {
				ls.addRule(sel, decl);
			}
		}
	}

	function setVisibility(id, isVisible) {
		var v = isVisible ? "visible" : "hidden";
		if (isDomLoaded && getElementById(id)) {
			getElementById(id).style.visibility = v;
		}
		else {
			createCSS("#" + id, "visibility:" + v);
		}
	}

	
/* Filter to avoid XSS attacks 
	*/

	function urlEncodeIfNecessary(s) {
		var regex = /[\\\"<>\.;]/;
		var hasBadChars = regex.exec(s) != null;
		return hasBadChars ? encodeURIComponent(s) : s;
	}

	
/* Release memory to avoid memory leaks caused by closures, fix hanging audio/video threads and force open sockets/NetConnections to disconnect (Internet Explorer only)
	*/

	var cleanup = function() {
		if (ua.ie && ua.win) {
			window.attachEvent("onunload", function() {
				
/* remove listeners to avoid memory leaks */

				var ll = listenersArr.length;
				for (var i = 0; i < ll; i++) {
					listenersArr[i][0].detachEvent(listenersArr[i][1], listenersArr[i][2]);
				}
				
/* cleanup dynamically embedded objects to fix audio/video threads and force open sockets and NetConnections to disconnect */

				var il = objIdArr.length;
				for (var j = 0; j < il; j++) {
					removeSWF(objIdArr[j]);
				}
				
/* cleanup library's main closures to avoid memory leaks */

				for (var k in ua) {
					ua[k] = null;
				}
				ua = null;
				for (var l in swfobject) {
					swfobject[l] = null;
				}
				swfobject = null;
			});
		}
	} ();


	return {
		
/* Public API
		- Reference: http://code.google.com/p/swfobject/wiki/SWFObject_2_0_documentation
		*/

		registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr) {
			if (!ua.w3cdom || !objectIdStr || !swfVersionStr) {
				return;
			}
			var regObj = {};
			regObj.id = objectIdStr;
			regObj.swfVersion = swfVersionStr;
			regObj.expressInstall = xiSwfUrlStr ? xiSwfUrlStr : false;
			regObjArr[regObjArr.length] = regObj;
			setVisibility(objectIdStr, false);
		},

		getObjectById: function(objectIdStr) {
			var r = null;
			if (ua.w3cdom) {
				var o = getElementById(objectIdStr);
				if (o) {
					var n = o.getElementsByTagName(OBJECT)[0];
					if (!n || (n && typeof o.SetVariable != UNDEF)) {
						r = o;
					}
					else if (typeof n.SetVariable != UNDEF) {
						r = n;
					}
				}
			}
			return r;
		},

		embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj) {
			if (!ua.w3cdom || !swfUrlStr || !replaceElemIdStr || !widthStr || !heightStr || !swfVersionStr) {
				return;
			}
			widthStr += ""; 
/* Auto-convert to string */

			heightStr += "";
			if (hasPlayerVersion(swfVersionStr)) {
				setVisibility(replaceElemIdStr, false);
				var att = {};
				if (attObj && typeof attObj === OBJECT) {
					for (var i in attObj) {
						if (attObj[i] != Object.prototype[i]) { 
/* Filter out prototype additions from other potential libraries */

							att[i] = attObj[i];
						}
					}
				}
				att.data = swfUrlStr;
				att.width = widthStr;
				att.height = heightStr;
				var par = {};
				if (parObj && typeof parObj === OBJECT) {
					for (var j in parObj) {
						if (parObj[j] != Object.prototype[j]) { 
/* Filter out prototype additions from other potential libraries */

							par[j] = parObj[j];
						}
					}
				}
				if (flashvarsObj && typeof flashvarsObj === OBJECT) {
					for (var k in flashvarsObj) {
						if (flashvarsObj[k] != Object.prototype[k]) { 
/* Filter out prototype additions from other potential libraries */

							if (typeof par.flashvars != UNDEF) {
								par.flashvars += "&" + k + "=" + flashvarsObj[k];
							}
							else {
								par.flashvars = k + "=" + flashvarsObj[k];
							}
						}
					}
				}
				addDomLoadEvent(function() {
					createSWF(att, par, replaceElemIdStr);
					if (att.id == replaceElemIdStr) {
						setVisibility(replaceElemIdStr, true);
					}
				});
			}
			else if (xiSwfUrlStr && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) {
				isExpressInstallActive = true; 
/* deferred execution */

				setVisibility(replaceElemIdStr, false);
				addDomLoadEvent(function() {
					var regObj = {};
					regObj.id = regObj.altContentId = replaceElemIdStr;
					regObj.width = widthStr;
					regObj.height = heightStr;
					regObj.expressInstall = xiSwfUrlStr;
					showExpressInstall(regObj);
				});
			}
		},

		getFlashPlayerVersion: function() {
			return { major: ua.pv[0], minor: ua.pv[1], release: ua.pv[2] };
		},

		hasFlashPlayerVersion: hasPlayerVersion,

		createSWF: function(attObj, parObj, replaceElemIdStr) {
			if (ua.w3cdom) {
				return createSWF(attObj, parObj, replaceElemIdStr);
			}
			else {
				return undefined;
			}
		},

		removeSWF: function(objElemIdStr) {
			if (ua.w3cdom) {
				removeSWF(objElemIdStr);
			}
		},

		createCSS: function(sel, decl) {
			if (ua.w3cdom) {
				createCSS(sel, decl);
			}
		},

		addDomLoadEvent: addDomLoadEvent,

		addLoadEvent: addLoadEvent,

		getQueryParamValue: function(param) {
			var q = doc.location.search || doc.location.hash;
			if (param == null) {
				return urlEncodeIfNecessary(q);
			}
			if (q) {
				var pairs = q.substring(1).split("&");
				for (var i = 0; i < pairs.length; i++) {
					if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
						return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1)));
					}
				}
			}
			return "";
		},
		expressInstallCallback: function() {
			if (isExpressInstallActive && storedAltContent) {
				var obj = getElementById(EXPRESS_INSTALL_ID);
				if (obj) {
					obj.parentNode.replaceChild(storedAltContent, obj);
					if (storedAltContentId) {
						setVisibility(storedAltContentId, true);
						if (ua.ie && ua.win) {
							storedAltContent.style.display = "block";
						}
					}
					storedAltContent = null;
					storedAltContentId = null;
					isExpressInstallActive = false;
				}
			}
		}
	};
} ();





/**/ window.lock = new LockWindow(); function LockWindow(message) { var target = this; this.timeoutObject = undefined; this.typename = "lib.objects.window.LockWindow"; this.ECHO_WindowLockOutputLayer = undefined; this.ECHO_WindowLockOutputLayerText = undefined; this.ECHO_WindowLockOutputLayerTextFluid = undefined; this.ECHO_WindowLockOutputLayerTextStatic = undefined; this._onOk = function() {  this.close(); if (this.onOk) { this.onOk(); }; }; this.onOk = function() { }; this._onCancel = function() { this.close();  if (this.onCancel) { this.onCancel(); }; }; this.onCancel = function() { }; this.active = function() { try { return (this.ECHO_WindowLockOutputLayer != undefined); } catch (e) { Catch(this.typename + ".active", e, true); } }; this.hiddenlist = new Array(); this.hideFloatingElemenets = function() { return; this.hiddenlist = new Array(); var elements = document.getElementsByTagName("object"); var i = 0; var l = elements.length; var me; for (i; i < l; i++) { trace("here"); me = elements[i]; me.style.position = "absolute"; me.style.left = -1000; me.style.top = -1000; this.hiddenlist[this.hiddenlist.length] = me; }; }; this.showFloatingElements = function() { var i = 0; var l = this.hiddenlist.length; var me; for (i; i < l; i++) { me = this.hiddenlist[i]; me.style.position = "relative"; me.style.left = null; me.style.top = null; }; this.hiddenlist = new Array(); }; this.show = function(message, nTimeout, args) { this.hideFloatingElemenets(); var target = this; try { if (!args) { args = {} }; } catch (e) { Catch(this.typename + ".show(2)", e, true); }; try { if (args.purge && this.ECHO_WindowLockOutputLayer) { this.close(); }; } catch (e) { Catch(this.typename + ".show(1)", e, true); }; try { if (args.callback) { this.callbackOnClose = args.callback; }; } catch (e) { Catch(this.typename + ".show(2)", e, true); }; if (!message) { this.close(); return; }; try { if (this.ECHO_WindowLockOutputLayer == undefined) { var docBody = document.getElementsByTagName("body")[0]; if (docBody == null) { throw ({ message: "body element must be established before window.lock element can be used" }); } else { docBody.style.margin = "0"; this.ECHO_WindowLockOutputLayer = document.createElement("div"); this.ECHO_WindowLockOutputLayer.name = this.ECHO_WindowLockOutputLayer.id = "ECHO_WindowLockOutputLayer"; this.ECHO_WindowLockOutputLayer.innerHTML = "&nbsp;"; this.ECHO_WindowLockOutputLayer.style.position = "absolute"; this.ECHO_WindowLockOutputLayer.className = "ECHO_WindowLockOutputLayerBackground"; this.ECHO_WindowLockOutputLayer.style.top = "0px"; this.ECHO_WindowLockOutputLayer.style.left = "0px"; this.ECHO_WindowLockOutputLayer.zIndex = 9998; this.ECHO_WindowLockOutputLayer.style.backgroundColor = "#000000"; this.ECHO_WindowLockOutputLayer.style.filter = "alpha(opacity=40)";   this.ECHO_WindowLockOutputLayer.style.opacity = 0.4; docBody.appendChild(this.ECHO_WindowLockOutputLayer); if (message != "" && message != undefined) { this.ECHO_WindowLockOutputLayerText = document.createElement("div"); this.ECHO_WindowLockOutputLayerText.id = "ECHO_WindowLockOutputLayerText"; this.ECHO_WindowLockOutputLayerText.style.fontSize = "20px"; this.ECHO_WindowLockOutputLayerText.style.backgroundColor = "#FFFFFF"; this.ECHO_WindowLockOutputLayerText.style.border = "3px double #CCCCCC"; this.ECHO_WindowLockOutputLayerText.style.padding = "10px"; docBody.appendChild(this.ECHO_WindowLockOutputLayerText); this.ECHO_WindowLockOutputLayerTextFluid = document.createElement("div"); this.ECHO_WindowLockOutputLayerTextFluid.id = "ECHO_WindowLockOutputLayerTextFluid"; this.ECHO_WindowLockOutputLayerTextFluid.style.fontSize = "20px"; this.ECHO_WindowLockOutputLayerText.appendChild(this.ECHO_WindowLockOutputLayerTextFluid); this.ECHO_WindowLockOutputLayerTextStatic = document.createElement("div"); this.ECHO_WindowLockOutputLayerTextStatic.id = "ECHO_WindowLockOutputLayerTextStatic"; this.ECHO_WindowLockOutputLayerTextStatic.style.fontSize = "20px"; this.ECHO_WindowLockOutputLayerText.appendChild(this.ECHO_WindowLockOutputLayerTextStatic); }; AddListener(window, "resize", window.lock.resize); AddListener(window, "scroll", window.lock.resize); }; }; if (message != "" && message != undefined) { this.ECHO_WindowLockOutputLayerTextFluid.innerHTML = message; } else if (this.ECHO_WindowLockOutputLayerText) { docBody.removeChild(this.ECHO_WindowLockOutputLayerText); this.ECHO_WindowLockOutputLayerText = undefined; }; if (args.okButton || args.cancelButton || args.customButton) { var buttonLayer = setElem("div"); buttonLayer.style.textAlign = "center"; buttonLayer.style.marginTop = "10px"; this.ECHO_WindowLockOutputLayerTextStatic.appendChild(buttonLayer); try { if (args.okButton != undefined) { var a = setElem("a"); a.href = "javascript:;"; a.innerHTML = "[OK]"; a.align = "center"; a.style.color = "#000000"; a.style.fontSize = "14px"; a.style.fontFamily = "Arial, Helvetica"; a.style.margin = "5px"; if (typeof (args.okButton) == "function") { target.onOk = function() { args.okButton(); }; }; a.onclick = function() { target._onOk(); return (false); }; buttonLayer.appendChild(a); AddListener(document, "keydown", target.keypress); }; } catch (e) { }; try { if (args.cancelButton != undefined) { var a = setElem("a"); a.href = "javascript:;"; a.style.color = "#000000"; a.style.fontSize = "14px"; a.style.fontFamily = "Arial, Helvetica"; a.innerHTML = "[Cancel]"; a.style.margin = "5px"; a.onclick = function() { if (typeof (args.cancelButton) == "string") { eval(args.cancelButton); } else { args.cancelButton(); }; return (false); }; buttonLayer.appendChild(a); }; } catch (e) { }; try { if (args.customButton != undefined) { var c = args.customButton; if (c.length) { var me; var i = 0; var l = c.length; for (i; i < l; i++) { me = c[i]; this.appendCustomButton(me, buttonLayer); }; } else { Catch(this.typename + ".show(155)", { message: "customButton must be sent as an array of objects defining text and callback" }, true); }; }; } catch (e) { }; }; window.lock.resize(); if (nTimeout != undefined && typeof (nTimeout) == "number" && nTimeout > 0) { target.timeoutObject = setTimeout("window.lock.close()", nTimeout); } else { clearTimeout(); } } catch (e) { Catch(this.typename + ".show(0)", e, true); }; return (true); }; this.appendCustomButton = function(me, buttonLayer) { try { var target = this; if (!me.text || !me.callback || typeof (me.callback) != "function") { Catch(this.typename + ".show(159)", { message: "customButton must be sent as an object defining text and callback" }, true); } else { var a = setElem("a"); a.href = "javascript:;"; a.innerHTML = me.text; a.style.color = "#000000"; a.style.fontSize = "14px"; a.style.fontFamily = "Arial, Helvetica"; a.style.margin = "5px"; if (me.style) { if (me.style.length) { var i = 0; var l = me.style.length; for (i; i < l; i++) { a.style[me.style[i].name] = me.style[i].value; }; } else { a.style[me.style.name] = me.style.value; }; }; if (me.classname) { a.className = me.classname; }; a.onclick = function() { me.callback(); return (false); }; buttonLayer.appendChild(a); if (me.breakafter) { buttonLayer.appendChild(setElem("br")); }; }; } catch (e) { Catch(this.typename + "appendCustomButton(base)", e, true); }; }; this.addText = function(msg) { try { if (this.ECHO_WindowLockOutputLayerTextFluid) { this.ECHO_WindowLockOutputLayerTextFluid.innerHTML = this.ECHO_WindowLockOutputLayerTextFluid.innerHTML + msg; window.lock.resize(); } else { this.show(msg); }; } catch (e) { Catch("window.lock.addText(base)", e, true); }; }; this.update = function(msg) { try { if (this.ECHO_WindowLockOutputLayerTextFluid) { this.ECHO_WindowLockOutputLayerTextFluid.innerHTML = msg; window.lock.resize(); } else { this.show(msg); }; } catch (e) { Catch(this.typename + ".update(1)", e, true); }; }; this.close = function() { try { clearTimeout(target.timeoutObject); target.timeoutObject = undefined; this.showFloatingElements(); RemoveListener(window, "resize", window.lock.resize); RemoveListener(window, "scroll", window.lock.resize); RemoveListener(document, "keydown", target.keypress); if (this.ECHO_WindowLockOutputLayer) { this.ECHO_WindowLockOutputLayerTextFluid.parentNode.removeChild(this.ECHO_WindowLockOutputLayerTextFluid); this.ECHO_WindowLockOutputLayerTextStatic.parentNode.removeChild(this.ECHO_WindowLockOutputLayerTextStatic); this.ECHO_WindowLockOutputLayerTextFluid = undefined; this.ECHO_WindowLockOutputLayerTextStatic = undefined; this.ECHO_WindowLockOutputLayer.parentNode.removeChild(this.ECHO_WindowLockOutputLayerText); this.ECHO_WindowLockOutputLayer.parentNode.removeChild(this.ECHO_WindowLockOutputLayer); this.ECHO_WindowLockOutputLayer = undefined; this.ECHO_WindowLockOutputLayerText = undefined; }; if (this.callbackOnClose) { this.callbackOnClose(); } } catch (e) { Catch(this.typename + ".close(0)", e, true); }; }; this.keypress = function(e, pushed) { if (target.typename != this.typename) {  if (pushed) {  return; }; target.keypress(e); return; };  if (e.keyCode == 27) { this._onCancel(); }; if (e.keyCode == 13) { this._onOk(); }; }; this.resize = function() { try { try { if (!this.ECHO_WindowLockOutputLayer) { return; }; } catch (e) { Catch(this.typename + ".resize(5)", e, true); }; try { if (window.width() + window._hscroll() > (numOnly(this.ECHO_WindowLockOutputLayer.style.width) / 1)) { this.ECHO_WindowLockOutputLayer.style.width = window.width() + window._hscroll() + "px"; }; } catch (e) { Catch(this.typename + ".resize(4)", e, true); }; try { if (window.height() + window._vscroll() > (numOnly(this.ECHO_WindowLockOutputLayer.style.height) / 1)) { this.ECHO_WindowLockOutputLayer.style.height = window.height() + window._vscroll() + "px"; }; } catch (e) { Catch(this.typename + ".resize(3)", e, true); }; try { this.ECHO_WindowLockOutputLayerText.style.position = "absolute"; this.ECHO_WindowLockOutputLayerText.className = "ECHO_WindowLockOutputLayerText"; this.ECHO_WindowLockOutputLayerText.style.zIndex = 9999; this.ECHO_WindowLockOutputLayerText.style.top = (window.height() * .5) + window._vscroll() - (this.ECHO_WindowLockOutputLayerText.offsetHeight * .5) + "px"; this.ECHO_WindowLockOutputLayerText.style.left = (window.width() * .5) + window._hscroll() - (this.ECHO_WindowLockOutputLayerText.offsetWidth * .5) + "px"; } catch (e) { Catch(this.typename + ".resize(2)", e, true); }; try { if (ECHO_WindowLockOutputLayerText.offsetHeight >= window.height()) { try { var _width = ECHO_WindowLockOutputLayerText.offsetWidth; ECHO_WindowLockOutputLayerText.style.height = (window.height() * .8) + "px"; ECHO_WindowLockOutputLayerText.style.overflow = "auto"; ECHO_WindowLockOutputLayerText.style.width = (numOnly(_width) + 16) + "px"; } catch (e) { Catch(this.typename + ".resize(1.1)", e, true); }; try { window.lock.resize(); } catch (e) { Catch(this.typename + ".resize(1.2)", e, true); }; }; } catch (e) { Catch(this.typename + ".resize(1)", e, true); }; } catch (e) { Catch(this.typename + ".resize(0)", e, true); }; }; }; 

/**/ function reportEmailError(info, message) { try { SendAjaxMail( "webmaster@lowen.com", "website@lowen.com", "Error Report isLocal:" + (document.location.toString().toLowerCase().indexOf("dev") != -1), info, reportEmailAlert, message ); } catch (e) {if (window.devlogin) { Catch("window.function.reportEmailError([" + info + "],[" + message + "])", e, true); } else {}  }; }; 

/**/ function reportPlugins(){ var o = new Array(); if(navigator.plugins.length){ var L = navigator.plugins.length; for(var i=0;i<L;i++) { o[o.length] = { name:navigator.plugins[i].name, description: navigator.plugins[i].description } } } else {  var CheckFlash; try {   CheckFlash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.1"); } catch(e){ try { CheckFlash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); } catch(e){ try { CheckFlash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); } catch(e){ try { CheckFlash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.5"); } catch(e){ try { CheckFlash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.4"); } catch(e){ try { CheckFlash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"); } catch(e){ try { CheckFlash = new ActiveXObject("SWCt1.SWCt1.9"); } catch(e){ try { CheckFlash = new ActiveXObject("SWCt1.SWCt1.8"); } catch(e){ try { CheckFlash = new ActiveXObject("SWCt1.SWCt1.7"); } catch(e){ try { CheckFlash = new ActiveXObject("SWCt1.SWCt1.1"); } catch(e){} }; }; }; }; }; }; }; }; }; if(CheckFlash){ o[o.length] = { name:"Shockwave Flash", description:CheckFlash.GetVariable("$version") }; }; }; return(o); }; 

/**/ function trace(val, args){   if(!window.devlogin){return;}; if(window.loaded!=true){ window.traceholdoverarray[window.traceholdoverarray.length] = "<sup>[beforeload]</sup>" + val; return; }; var bodydoc = document.getElementsByTagName("body")[0]; if(!window.TraceOutputWindow){ window.TraceOutputWindow = top.window.document.createElement("div"); window.TraceOutputWindow.id = window.TraceOutputWindow.name = "TraceOutputWindow"; window.TraceOutputWindow.style.position = "absolute"; window.TraceOutputWindow.style.top = bodydoc.scrollTop; window.TraceOutputWindow.style.left = "0px"; window.TraceOutputWindow.style.zIndex = 1000; window.TraceOutputWindow.style.background = "#FFFFCC"; window.TraceOutputWindow.style.padding = "10px"; window.TraceOutputWindow.style.marginRight = "20px"; window.TraceOutputWindow.style.border = "1px solid #000000"; window.TraceOutputWindow.style.textAlign = "left"; AddListener(window.TraceOutputWindow,((agent().msie)?"ondblclick":"dblclick"), function(){ window.TraceOutputWindow.parentNode.removeChild(window.TraceOutputWindow); window.TraceOutputWindow = undefined; }); try{top.window.document.getElementsByTagName("body")[0].appendChild(window.TraceOutputWindow);} catch(e){}; }; if (val === "") { val = "<li>[empty]"; } else if (val === false || val === undefined || val === null || val === true) { val = "<li>" + val; }  else { val = val.toString().replace(/\n/gi, "<br />").replace(/\t/gi, "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"); if (val.indexOf("\n") != -1 || val.length>600) { var html = "<div style=\"border-left: 2px solid green;padding-left:5px;margin-bottom:5px;\">\n"; html += "<div><a href=\"javascript:;\"\n"; html += "onclick=\"\n"; html += "if(this.parentNode.nextSibling.style.display=='none'){ this.parentNode.nextSibling.style.display = 'block'; this.innerHTML='-'} else {this.parentNode.nextSibling.style.display = 'none';this.innerHTML='+'};\n"; html += "this.blur();\n"; html += "\"\n"; html += "style=\"color:#000000;text-decoration:none;\"\n"; html += ">-</a>"; html += "<div style=\"display:block;\">\n"; html += val; html += "</div></div>"; val = html; } else { val = "<div style='border-left: 2px solid green;padding-left:5px;margin-bottom:5px;'>" + val + "</div>"; } }; window.TraceOutputWindow.innerHTML += val; window.TraceOutputWindow.style.top = bodydoc.scrollTop; if (window.TraceOutputWindow.offsetHeight > 200) { window.TraceOutputWindow.style.height = "200px"; window.TraceOutputWindow.style.overflow = "auto"; } window.TraceOutputWindow.style.width = (window.width() - 24) + "px"; window.TraceOutputWindow.style.overflow = "auto";  };    if(!window.traceholdoverarray){window.traceholdoverarray = new Array();};    AddListener(window,"load",function(){  window.loaded=true;  if(window.traceholdoverarray){  if(window.traceholdoverarray.length>-1){  var i = 0 ;  var l = window.traceholdoverarray.length;  for(i;i<l;i++){  trace(window.traceholdoverarray[i]);  };  };  };  window.traceholdoverarray = undefined;  }); 

/**/ function MM_findObj(n, d) { try{   var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {  d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}   if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];   for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);   if(!x && d.getElementById) x=d.getElementById(n); return x;   } catch(e){return(null);} }; 

/**/ function RemoveListener(_Object, _Listener, _Function, t){ try{ if(_Object.removeEventListener){ _Object.removeEventListener(_Listener,_Function,t); } else if(_Object.detachEvent) { success = _Object.detachEvent(((_Listener.substr(0,2).toLowerCase()=="on")?"":"on") + _Listener,_Function); } return(true); } catch(e) { return(false); } } 

/**/   function numOnly($val,$add,$args){ try { var typename = "lib.functions.window.numOnly"; if(!$args){ $args = new Object(); }; $args.returnNoneNumeric = ( ( $args.returnNoneNumeric ) ? $args.returnNoneNumeric : false ); $args._default = (($args._default) ? $args._default : null);   if(!$add){ $add=""; };  if($val){  var $allowList = "1234567890" + $add;  for(var $i=0;$i < $val.length;$i++){  var $g = $val.charAt($i); if( (!$args.returnNoneNumeric && $allowList.indexOf($g)==-1) || ($args.returnNoneNumeric && $allowList.indexOf($g)!=-1) ){   $val = $val.replace($g,"");  $i=-1; }; }; };  if($args._default && $val==""){$val = $args._default;}; return($val); } catch(e){Catch(typename,e,true);}; };  

/**/ window.width = function() { var bodydoc = document.getElementsByTagName("body")[0]; if (window.innerWidth != undefined) { return (window.innerWidth); } else if (bodydoc && bodydoc.clientWidth != undefined) { return (bodydoc.clientWidth); } else if (document.documentElement && document.documentElement.clientWidth != undefined) { return (document.documentElement.clientWidth); } else { return (null); }; }; 

/**/ window.height = function() { var bodydoc = document.getElementsByTagName("body")[0]; if (window.innerHeight != undefined) { return (window.innerHeight); } else if (bodydoc && bodydoc.clientHeight != undefined) { return (bodydoc.clientHeight); } else if (document.documentElement && document.documentElement.clientHeight != undefined) { return (document.documentElement.clientHeight); } else { return (null); }; }; 

/**/ window._hscroll = function() { var bodydoc = document.getElementsByTagName("body")[0]; return ( (window.pageXOffset && window.pageXOffset > 0) ? window.pageXOffset : ( (document.documentElement && document.documentElement.scrollLeft > 0) ? document.documentElement.scrollLeft : ( (bodydoc && bodydoc.scrollLeft > 0) ? bodydoc.scrollLeft : 0 ) ) ); }; 

/**/ window._vscroll = function() { var bodydoc = document.getElementsByTagName("body")[0]; return ( (window.pageYOffset && window.pageYOffset > 0) ? window.pageYOffset : ( (document.documentElement && document.documentElement.documentElement > 0) ? document.documentElement.scrollTop : ( (bodydoc && bodydoc.scrollTop > 0) ? bodydoc.scrollTop : 0 ) ) ); }; 

/**/ function setElem(elem, type){ var typename = "lib.functions.dom.setElem"; try { if(elem=="input"){ return(createInput(type)); } else { try{ var newElem = document.createElement(elem) } catch(e){Catch(typename,e,true);}; return(newElem); }; } catch(e){Catch(typename,e,true);}; }; 

/**/ window.keyCode = undefined; AddListener(document, "keyup", function(e) { window.keyCode = undefined; }); AddListener(document, "keydown", function(e) { window.keyCode = e.keyCode; }); 

/**/ function SendAjaxMail(to,from,title,body,callback,message){ try { var ajax = new Ajax(); ajax.method = "post"; ajax.add("to",to); ajax.add("from",from); ajax.add("title",title); ajax.add("body",body); ajax.message = (message)?message:""; ajax.url = "/inc/ajaxMethods/Method.AjaxEmail.Asp"; ajax.debug=true; ajax.onSuccess = function(x,t){ try{ if(callback){ callback(this.message); } } catch(e){trace(e.message);} }; ajax.onFailed = function(){ trace("failed"); }; try { ajax.send(); } catch(e){trace("SendAjaxMail:" + e.message);} } catch(e) {} } 

/**/ function reportEmailAlert(message) { var persists = "\nIf this problem continues, please contact our webmaster at webmaster@lowen.com."; if (message && message != "silent") { alert(message + persists); } else if (message ==undefined){ alert("an error occured and information has been sent to the webmaster." + persists); }; }; 

/**/ function agent(){ var typename = "lib.functions.window.agent"; try { result = new Object(); result.name = "agent()"; result.appname = navigator.appName + "\n" + navigator.appVersion; result.opera = (navigator.appVersion.indexOf("opera")!=-1); result.msie = (navigator.appVersion.indexOf("MSIE")!=-1); result.netscape = (navigator.appName.indexOf("Netscape")!=-1); result.safari = (navigator.appName.toLowerCase().indexOf("safari")!=-1); result.win = (navigator.platform.toLowerCase().indexOf("win")!=-1); result.mac = (navigator.platform.toLowerCase().indexOf("mac")!=-1); result.ie4 = (navigator.appVersion.indexOf("MSIE 4")!=-1); result.ie5 = (navigator.appVersion.indexOf("MSIE 5")!=-1); result.ie6 = (navigator.appVersion.indexOf("MSIE 6")!=-1); result.ie7 = (navigator.appVersion.indexOf("MSIE 7")!=-1); result.ie8 = (navigator.appVersion.indexOf("MSIE 8")!=-1); return(result); } catch(e){Catch(typename,e,true);}; }; 

/**/  window.loaded = false;  

/**/ function createInput(type,name,label,args){ var typename = "lib.functions.dom.createInput"; if(args==undefined){args = new Object();} args.checked = (args.checked==true); args.selected = (args.selected==true); var elem = undefined; if(agent().msie){ try { if(type=="textarea"){ elem = document.createElement("<textarea name=" + name + " id=" + name + " rows=1 cols=1></textarea>"); } else { elem = document.createElement("<input type=" + type + " name=" + name + " id=" + name + " " + ((args.checked)?"checked":"") + ">"); } } catch(e){Catch(typename + "// type=" + type + " name=" + name + " id=" + name + "",e,true);} } else { try { if(type=="textarea"){ elem = document.createElement("textarea"); elem.rows = 1; elem.cols = 1; } else { elem = document.createElement("input"); } elem.name = elem.id = name; elem.type = type; } catch(e){Catch(typename + " // type=" + type + " name=" + name + " id=" + name + "",e,true);} } if(!label || type=="hidden"){ return(elem); } else { var table = setElem("table"); table.id = type + "_" + name + "LabelTable"; table.border=0; table.width = "100%"; table.style.borderSpacing = 0; table.style.borderCollapse = "collapse"; table.body = setElem("tbody"); table.body.id = table.id + "Body"; table.appendChild(table.body); table.body.row = setElem("tr"); table.body.row.id = table.body.id + "Row"; table.body.appendChild(table.body.row); table.label = setElem("td"); table.label.id = table.body.row.id + "ColLabel"; table.body.row.appendChild(table.label); table.label.innerHTML = label; table.body.row.tdSpacer = setElem("td"); table.body.row.tdSpacer.id = table.body.row.id + "ColSpacer"; table.body.row.appendChild(table.body.row.tdSpacer); table.body.row.tdSpacer.innerHTML = "&nbsp;"; table.tdInput = setElem("td"); table.tdInput.width = "90%"; table.tdInput.id = table.body.row.id + "ColInput"; table.body.row.appendChild(table.tdInput); table.input = elem; table.tdInput.appendChild(table.input); return(table); }; };  

/**/ if (!window.ajaxOpenConnections) { window.ajaxOpenConnections = new Array(); }; window.$Ajax = new Ajax(); function Ajax(){ try {  this.typename = "lib.objects.window.Ajax"; this.public = true;  this.connected = false; this.name = this.id ="AjaxConnectionObject" + window.ajaxOpenConnections.length; window.ajaxOpenConnections[window.ajaxOpenConnections.length] = this; this.ConObj = undefined; this.ValueList = new Array(); this.method = "Get"; this.async = true;  this.code = 0; this.debug = false; this.url = ""; this.timeout = -1; this.timeoutId = undefined; this.timeoutWarningWindow; this.info = "";  this.canceled = false; this.anchor = undefined; this.connections = window.ajaxOpenConnections; this.length = window.ajaxOpenConnections.length;  this.onsuccess = this.onSuccess = new Function(); this.onFailed = new Function(); this.onAbort = new Function();   this.occupied = function(){ try { var occupied = this.ConObj.readyState; return (occupied && (occupied < 4)); } catch(e){Catch(this.typename + ".occupied",e,true);}; }; this.processed =function() { try {  if (this.ConObj.readyState == 4 && this.ConObj.status == 200) {  return(true);  } else {  return(false);  }; } catch(e){Catch(this.typename + ".processed",e,true);}; }; this.query =function(){ try { var arr = new Array(); for(var i=0;i<this.ValueList.length;i++){ arr[arr.length] = this.ValueList[i].name + "=" + escape(this.ValueList[i].value); }; return(arr.join("&")); } catch(e){Catch(this.typename + ".query",e,true);}; }; this.add =function(strName, strValue){ try { if(strName!=undefined && strValue!=undefined){ var newVal = new Object(); newVal.name = strName; newVal.value = strValue; this.ValueList[this.ValueList.length] = newVal; this.method = "POST"; }; } catch(e){Catch(this.typename + ".addPair([" + strName + "],[" + strValue + "])",e,true);}; }; this.get =function(dilim){ try { for(var i=0;i<this.ValueList.length;i++){ if(this.ValueList[i].name == dilim){ return(this.ValueList[i].value); }; }; } catch(e){Catch(this.typename + ".get",e,true);}; }; this.clearPost = function (){ try { this.ValueList = new Array(); } catch(e){Catch(this.typename + ".clearPost",e,true);}; };  this.callback = function(address,info){ try { if(!this.ConObj){return;}; if(this.ConObj.readyState==4){ if(this.timeoutWarningWindow!=undefined){ this.timeoutWarningWindow.close(); }; clearTimeout(this.timeoutId); try { if(this.ConObj.status == 200){ this.connected = false; try { this.onSuccess(this.ConObj.responseXML, this.ConObj.responseText,address,info); } catch(e){Catch(this.typename + ".callback.3",e,true);}; } else { if(this.debug){trace("ajax_callback://" + address + " // status=" + this.ConObj.status);}; try { if(!this.canceled){this.onFailed(this.ConObj,address,info,this.code);}; this.canceled = false; } catch(e){Catch(this.typename + ".callback.2",e,true);}; }; } catch(e){Catch(this.typename + ".callback.1",e,true);}; }; } catch(e){Catch(this.typename + ".callback.base",e,true);}; }; this.KillAllProcesses = function(){ for(var i in window.ajaxOpenConnections){ try{window.ajaxOpenConnections[i].cancel();} catch(e){}; }; }; this.close = function(){ try { AjaxCloseActiveConnection(this); } catch(e){Catch(this.typename + ".close",e,true);}; }; this.reset = function(){ try { this.url = ""; this.info = ""; this.code = 0; this.method = "Get"; this.initEvents(); this.ValueList = new Array(); } catch(e){Catch(this.typename + ".reset",e,true);}; }; this.initEvents = function() { var target = this; this.onSuccess = function(o) { try { if (target.debug) { trace("Success: " + EncodeHTML(o.responseXML.status)); }; } catch (e) { if (target.debug) { trace("Success: " + EncodeHTML(o.responseText)); }; }; }; this.onFailed = function(o, a, i, c) { try { if (target.debug) { if (target.method == "GET") { window.open(target.url + "?" + unescape(target.query()), "debug", "width=500,height=500,scrollbars=yes,resizeable=yes"); } else { var ajaxWindow = window.open("", "debug", "width=500,height=500,scrollbars=yes,resizeable=yes"); var html = ""; html += "<html><title>Debug</title><body>"; html += "<form id=\"DebugForm\" action=\"" + target.url + "\" method=\"POST\">"; var iLoop = 0; var lLoop = target.ValueList.length; for (iLoop = 0; iLoop < lLoop; iLoop++) { try { html += "<input type=hidden id=\"" + target.ValueList[iLoop].name + "\" name=\"" + target.ValueList[iLoop].name + "\" value=\"" + inputLineEncode(target.ValueList[iLoop].value) + "\" />"; } catch (e) { }; }; html += "</form>"; html += "<sc" + "ript>document.forms[0].submit();</sc" + "ript>"; html += "</body></html>"; if (window.devlogin) { trace(html); } ajaxWindow.document.write(html); }; }; } catch (e) { Catch(target.typename + ".onFailed", e, true); }; }; }; this.status = function(){ try { if(this.ConObj){ try { return(this.ConObj.status); } catch(e){return(-1);}; } else { return(-1); }; } catch(e){Catch(this.typename + ".status",e,true);}; }; this.connect =function(){ try { if(this.debug){trace(this.id + "  ");};  try { this.ConObj = new XMLHttpRequest(); this.ConObj.id = "ConObj"; return(true); }  catch (e) {  var _ieVersions = new Array( 'MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP' ); var success = false;  for (var i=0;i < _ieVersions.length && !success; i++) {  try { this.ConObj = new ActiveXObject(_ieVersions[i]); success = true; } catch (e) {}; };  if (!success) {return(false);}; return(true); }; } catch(e){Catch(this.typename + ".connect.base",e,true);}; }; this.send = function(address,info) { try { var target = this; if(this.debug){trace(this.id + " // Sending Address: " + ((address==undefined)?this.url:address));}; this.info = info; if(!address){address = this.url;} else {this.url = address}; if(!address){if(this.debug){trace("Unable to send AJAX request. No address specified");return;};}; if (!this.ConObj) {this.connect();}; if (!this.occupied()) { try{ if(this.method.toUpperCase()=="POST"){ this.ConObj.open("POST",address,this.async); } else { this.ConObj.open("GET",address + ((address.indexOf("?")==-1)?"?":"&") + "pepperString=" + getPepper(),this.async); }; } catch(e){Catch(this.typename+".send([" + address + "], [" + info + "])",e,true);}; if(this.method.toUpperCase()=="POST"){ this.ConObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); this.ConObj.setRequestHeader("Content-length",this.query().length); this.ConObj.send(this.query()); } else { this.ConObj.send((info)?info:this.query()); }; if(this.timeout>0){ this.timeoutId = setTimeout("AjaxTimeoutActiveConnections(" + (window.ajaxOpenConnections.length-1) + ")", this.timeout); }; if(this.async){ this.ConObj.onreadystatechange = function(){ target.callback(address,info); }; } else { if (this.processed) { if(this.debug){trace("TODO: Handle Non Async Ajax");}; return(this.ConObj.responseText); }; }; }; return(false); } catch(e){Catch(this.typename + ".send.base",e,true);}; }; this.cancel = function(){ try { if(this.debug){trace(this.id + " // cancel");}; this.canceled = true; if(this.ConObj){ try{this.ConObj.abort();} catch(e){}; try { this.onAbort(); } catch(e){Catch(this.typename + ".cancel.onAbort",e,true);}; }; } catch(e){Catch(this.typename + ".cancel",e,true);}; }; this.toString = function(){ try{ r = ""; r+="Name: " + this.id + "\n"; r+="Asyncronious: " + this.async + "\n"; r+="Method: " + this.method + "\n"; r+="Debug: " + this.debug + "\n"; r+="URL: " + this.url + "\n"; r+="Query: " + this.query() +"\n"; return(r); } catch(e){Catch(this.typename + ".toString",e,true);}; }; if(this.connect()){this.connected = true;}; try { if(!window.ajaxOpenConnections){window.ajaxOpenConnections = new Array();}; this.initEvents(); } catch(e){Catch(this.typename + ".initEvents.Call()",e,true);}; } catch(e){Catch(this.typename + ".main",e,true);}; };  

/**/ function inputLineEncode(value) { var typename = "lib.functions.window.inputLineEncode"; try { value = value.replace(/"/gi, "&quot;"); value = value.replace(/\n/gi, "\n"); } catch (e) { Catch(typename + ".base", e, true); } return (value); }; 

/**/ function AjaxCloseActiveConnection(o){ try { var t = window.ajaxOpenConnections; var i = 0; var l = t.length; for(i;i<l;i++){ if(t[i]==o){ t[i].cancel(); t[i] = undefined; t.splice(i,1); }; }; } catch(e){Catch("window.function.AjaxCloseActiveConnection",e,true);}; }; 

/**/  function AjaxTimeoutActiveConnections(i){  try { var o = window.ajaxOpenConnections[i]; if(o.status()!=200){ o.timeoutWarningWindow = new ToolTip(); o.timeoutWarningWindow.show({ text: "The action has taken longer then expected to run.\n" + "Click \"ok\" to allow another " + (o.timeout/1000) + " seconds for the action\n" + "to complete", timeout:-1, anchor: o.anchor, onOK: function(){ o.timeoutId = setTimeout("AjaxTimeoutActiveConnections(" + (i) + ")", o.timeout); }, onCancel: function(){ if(o.status()!=200){ o.close(); }; } }); }; } catch(e){Catch("window.function.AjaxTimeoutActiveConnections",e,true);} };  

/**/ function getPepper(url){ if(url){ return(url + ((url.indexOf("?")==-1)?"?":"&") + "pepper=" + getPepper()); } else { var d = new Date(); return(d + "|" + d.getMilliseconds()); }; }; 

/**/ function EncodeHTML(HTML) { if (HTML === "") {return ("");} return(replaceall(replaceall(HTML,">","&gt;"),"<","&lt;")); } 

/**/ function ToolTip(){ this.typename = "lib.objects.window.tooltip"; this.text = ""; this.bgColor = "#FFFFCC"; this.anchor = undefined; this.time = 4000; this.layer = undefined; this.intervalId = undefined; this.unload = undefined; this.show = function(cText, oAnchorItem, nTimeout, showClose, purge){ var target = this; var def = new Object(); if(typeof(cText)!="object"){ def.text = cText; def.purge = (purge!=false); def.anchor = oAnchorItem; def.timeout = (nTimeout!=undefined)?nTimeout:this.time; def.onClose = (typeof(showClose)=="function")? showClose:((showClose==true)? this.close:undefined); } else { def = cText; def.anchor = (def.anchor!=undefined)?def.anchor:(def.target!=undefined)?def.target:undefined; def.timeout = (def.timeout)?def.timeout:this.time; def.purge = (def.purge!=false); def.onClose = (typeof(def.onClose)=="function")? def.onClose:((def.close==true)? this.close:undefined); }; if(def.purge){ clearTimeout(this.intervalId); this.close(); }; if(def.timeout==-1){ clearTimeout(this.intervalId); }; this.layer = document.getElementById("tooltipLayer"); if(!this.layer){this.layer = document.createElement("div");} if(def.unique==true){ if(this.layer.innerHTML.indexOf(def.text)!=-1){ return; } } if(this.layer.childNodes.length>0){ this.layer.appendChild(document.createElement("br")); } def.text = def.text.replace(/\n/gi, "<br />"); this.layer.innerHTML += def.text; if(def.onClose || def.onCancel || def.onOK){ this.layer.appendChild(document.createElement("br")); } if(def.onClose!=undefined){ var closeButton = document.createElement("a"); closeButton.id = closeButton.name = "ToolTipCloseLink"; closeButton.href = "javascript:;"; closeButton.innerText = "Close"; closeButton.style.textAlign = "center"; if(def.onClose!=target.close){ closeButton.onclick = function(){ def.onClose(); target.close(); }; } else { closeButton.onclick = function(){ target.close(); }; }; this.layer.appendChild(document.createTextNode(" [")); this.layer.appendChild(closeButton); this.layer.appendChild(document.createTextNode("] ")); } else { if(def.onOK!=undefined){ var OKButton = document.createElement("a"); OKButton.id = OKButton.name = "ToolTipOKLink"; OKButton.href = "javascript:;"; OKButton.innerText = "OK"; OKButton.style.float = "center"; OKButton.onclick = function(){ def.onOK(); target.close(); }; this.layer.appendChild(document.createTextNode(" [")); this.layer.appendChild(OKButton); this.layer.appendChild(document.createTextNode("] ")); } if(def.onCancel!=undefined){ var cancelButton = document.createElement("a"); cancelButton.id = cancelButton.name = "ToolTipCancelLink"; cancelButton.href = "javascript:;"; cancelButton.innerText = "Cancel"; cancelButton.style.float = "center"; cancelButton.onclick = function(){ def.onCancel(); target.close(); }; this.layer.appendChild(document.createTextNode(" [")); this.layer.appendChild(cancelButton); this.layer.appendChild(document.createTextNode("] ")); }; }; this.layer.id = this.layer.name = "tooltipLayer"; this.layer.style.background = this.bgColor; this.layer.style.padding = "10px"; this.layer.style.border = "1px solid #000000"; this.layer.style.textAlign = "left"; document.getElementsByTagName("body")[0].appendChild(this.layer); this.layer.style.position = "absolute"; var x, y; if(def.anchor){ def.anchor.name = def.anchor.id = ( (def.anchor.id!=""&&def.anchor.id!=undefined)?def.anchor.id:( (def.anchor.name!="" && def.anchor.name!=undefined)?def.anchor.name:"TOOLTOP_OBJECT" ) ); PositionElementToElement(this.layer, def.anchor); } else { this.layer.style.top = document.getElementsByTagName("body")[0].scrollTop; this.layer.style.left = "0px"; }; if(def.timeout>-1){ this.intervalId = setTimeout("window.tooltip.close()",def.timeout); }; if(def.init){ try{def.onInit();} catch(e){} }; if(def.onUnload){ this.unload = def.onUnload; }; }; this.close = function(nTimeout){ clearTimeout(this.intervalId); this.intervalId = undefined;  if(nTimeout!=undefined && nTimeout>0){  this.intervalId = setTimeout("window.tooltip.close()", nTimeout);  return; } else { try{  if(this.layer){  document.getElementsByTagName("body")[0].removeChild(this.layer);  this.layer = undefined; }; } catch(e){};  if(this.unload){ var temp = this.unload; this.unload = undefined; try{temp()}catch(e){} }; }; }; }; window.tooltip = new ToolTip();  

/**/ function replaceall(_string, _what, _with) { var typename = "lib.functions.window.replaceall"; try { if (!_string) return; var $string = new String(_string); var $what = new String(_what); var $with = new String(_with); while ($string.indexOf($what) != -1) { $string = $string.replace($what, $with); } return ($string); } catch (e) { Catch(typename, e, true); }; }; 

/**/ function PositionElementToElement(ElementOne, ElementTwo) { this.typename = "lib.functions.window.PositionElementToElement"; try { ElementOne.style.position = "absolute"; var pos = window.kPosition.get(ElementTwo); if(((pos.y*1)+(ElementOne.offsetHeight*1))>((window.height()/1) + (window._vscroll()/1))){ ElementOne.style.top = pos.y - 10 - (((pos.y*1)+(ElementOne.offsetHeight*1))-((window.height()/1) + (window._vscroll()/1))) + "px"; } else { ElementOne.style.top = pos.y + "px"; } if(pos.x > (window.width()*.5)){ ElementOne.style.left = pos.x - ElementOne.offsetWidth - 10; } else { ElementOne.style.left = pos.x + ElementTwo.offsetWidth + 10; } } catch(e){Catch(this.typename +  ".base[ElementOne:" + ElementOne.id + ", ElementTwo:" + ElementTwo.id + "]",e,true);} }  

/**/ window.kPosition = (function() {  function resolveObject(s) { if (document.getElementById && document.getElementById(s)!=null) { return(document.getElementById(s)); } else if (document.all && document.all[s]!=null) { return(document.all[s]); } else if (document.anchors && document.anchors.length && document.anchors.length>0 && document.anchors[0].x) { for (var i=0; i<document.anchors.length; i++) { if (document.anchors[i].name==s) { return(document.anchors[i]); } } } }; var pos = {}; pos.$VERSION = 1.0; pos.set = function(o,left,top) { if (typeof(o)=="string") { o = resolveObject(o); } if (o==null || !o.style) { return(false); }  if (typeof(left)=="object") { var pos = left; left = pos.left; top = pos.top; } o.style.left = left + "px"; o.style.top = top + "px"; return(true); }; pos.get = function(o) { var fixBrowserQuirks = true;  if (typeof(o)=="string") { o = resolveObject(o); } if (o==null) { return(null); } var left = 0; var top = 0; var width = 0; var height = 0; var parentNode = null; var offsetParent = null; offsetParent = o.offsetParent; var originalObject = o; var el = o;  while (el.parentNode!=null) { el = el.parentNode; if (el.offsetParent==null) { } else { var considerScroll = true;  if (fixBrowserQuirks && window.opera) { if (el==originalObject.parentNode || el.nodeName=="TR") { considerScroll = false; } } if (considerScroll) { if (el.scrollTop && el.scrollTop>0) { top -= el.scrollTop; } if (el.scrollLeft && el.scrollLeft>0) { left -= el.scrollLeft; } } }  if (el == offsetParent) { left += o.offsetLeft; if (el.clientLeft && el.nodeName!="TABLE") { left += el.clientLeft; } top += o.offsetTop; if (el.clientTop && el.nodeName!="TABLE") { top += el.clientTop; } o = el; if (o.offsetParent==null) { if (o.offsetLeft) { left += o.offsetLeft; } if (o.offsetTop) { top += o.offsetTop; } } offsetParent = o.offsetParent; } } if (originalObject.offsetWidth) { width = originalObject.offsetWidth; } if (originalObject.offsetHeight) { height = originalObject.offsetHeight; } return {'left':left, 'top':top, 'width':width, 'height':height,'x':left, 'y':top, 'w':width, 'h':height}; }; pos.getCenter = function(o) { var c = this.get(o); if (c==null) { return null; } c.left = c.left + (c.width/2); c.top = c.top + (c.height/2); return c; }; return pos; })(); 
