/** * Generated File 
* @TimeStamp: 2009-10-22 13:10:42
* @FileName: b900340253d1457b0a0f3c4480fecd6d
*/
/**/ 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 MM_reloadPage(init) { if (init==true){ with (navigator) { if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; } } } else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH){ location.reload(); } }; MM_reloadPage(true); 

/**/ function MM_preloadImages() { var d=document; if(d.images){ if(!d.MM_p){ d.MM_p=new Array(); }; var i; var j=d.MM_p.length; var a=MM_preloadImages.arguments; for(i=0; i<a.length; i++){ if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i]; }; }; }; }; 

/**/ function MM_swapImage() { var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array(); for(i=0;i<(a.length-2);i+=3){ if ((x=MM_findObj(a[i]))!=null){ document.MM_sr[j++]=x; if(!x.oSrc){ x.oSrc=x.src; x.src=a[i+2]; }; }; }; }; 

/**/ function MM_swapImgRestore() {   var i,x,a=document.MM_sr;   for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++){x.src=x.oSrc;}; }; 

/**/ function P7_ReDoIt() { if(document.layers) {MM_reloadPage(false);} } 

/**/ function P7_Snap() { var x,y,ox,bx,oy,p,tx,a,b,k,d,da,e,el,args=P7_Snap.arguments;a=parseInt(a); for (k=0; k<(args.length-3); k+=4){ if ((g=MM_findObj(args[k]))!=null) { el=eval(MM_findObj(args[k+1])); a=parseInt(args[k+2]); b=parseInt(args[k+3]); x=0; y=0; ox=0; oy=0; p=""; tx=1; da="document.all['"+args[k]+"']"; if(document.getElementById) { d="document.getElementsByName('"+args[k]+"')[0]"; if(!eval(d)) { d="document.getElementById('"+args[k]+"')"; if(!eval(d)) {d=da;} } } else if(document.all) { d=da; } if (document.all || document.getElementById) { while (tx==1) { p+=".offsetParent"; if(eval(d+p)) { x+=parseInt(eval(d+p+".offsetLeft")); y+=parseInt(eval(d+p+".offsetTop")); } else {tx=0;} } ox=parseInt(g.offsetLeft); oy=parseInt(g.offsetTop); var tw=x+ox+y+oy; if(tw==0 || (navigator.appVersion.indexOf("MSIE 4")>-1 && navigator.appVersion.indexOf("Mac")>-1)) { ox=0; oy=0; if(g.style.left){ x=parseInt(g.style.left); y=parseInt(g.style.top); } else { var w1=parseInt(el.style.width); bx=(a<0)?-5-w1:-10; a=(Math.abs(a)<1000)?0:a; b=(Math.abs(b)<1000)?0:b; x=document.body.scrollLeft + event.clientX + bx; y=document.body.scrollTop + event.clientY; }; }; } else if (document.layers) { x=g.x; y=g.y; var q0=document.layers,dd=""; for(var s=0;s<q0.length;s++) { dd='document.'+q0[s].name; if(eval(dd+'.document.'+args[k])) { x+=eval(dd+'.left'); y+=eval(dd+'.top'); break; }; }; }; if(el) { e=(document.layers)?el:el.style; var xx=parseInt(x+ox+a),yy=parseInt(y+oy+b); if(navigator.appName=="Netscape" && parseInt(navigator.appVersion)>4){xx+="px";yy+="px";} if(navigator.appVersion.indexOf("MSIE 5")>-1 && navigator.appVersion.indexOf("Mac")>-1){ xx+=parseInt(document.body.leftMargin); yy+=parseInt(document.body.topMargin); xx+="px"; yy+="px"; } e.left=xx;e.top=yy; }; }; }; }; 

/**/ function P7_autoLayers() { var g,b,k,f,args=P7_autoLayers.arguments; var a = parseInt(args[0]); if(isNaN(a)){a=0;} if(!document.p7setc) { p7c=new Array(); document.p7setc=true; for (var u=0;u<10;u++) { p7c[u] = new Array(); }; }; for(k=0; k<p7c[a].length; k++) { if((g=MM_findObj(p7c[a][k]))!=null){ b=(document.layers)?g:g.style; b.visibility="hidden"; }; }; for(k=1; k<args.length; k++) { if((g=MM_findObj(args[k])) != null) { b=(document.layers)?g:g.style; b.visibility="visible"; f=false; for(j=0;j<p7c[a].length;j++) { if(args[k]==p7c[a][j]) {f=true;} }; if(!f){ p7c[a][p7c[a].length++]=args[k]; }; }; }; }; 

/** { [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;
				}
			}
		}
	};
} ();





/**/ 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 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;  

/**/ 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._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 ) ) ); }; 

/**/ 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; })(); 

/**/ 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.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); }; }; 
