if (typeof ga != "object")	ga = new Object();ga.win = (navigator.userAgent.toLowerCase().indexOf("win") > -1);ga.mac = (navigator.userAgent.toLowerCase().indexOf("mac") > -1);ga.ie = (navigator.userAgent.indexOf("MSIE") > -1);ga.w3c = (document.getElementById && !ga.ie);ga.opera = (navigator.userAgent.toLowerCase().indexOf("opera") > -1);ga.safari = (navigator.userAgent.toLowerCase().indexOf("safari") > -1);ga.version = null;if (ga.ie) ga.version = parseFloat(navigator.appVersion.match(/MSIE\s(\d+\.\d+)/)[1]);else if(ga.w3c) ga.version = null;ga.getObj = function(strLayer) {	if(typeof(strLayer) == "object") return strLayer;	var elmLayer = document.getElementById(strLayer);	if (!elmLayer)		elmLayer = document.getElementsByName(strLayer)[0];	return elmLayer;}ga.getElementByIdFragment = function (strId, strNodeName) {	strNodeName = strNodeName || "*";	var arElements = document.getElementsByTagName(strNodeName);	for (var i=0; i<arElements.length; i++) {		if (arElements[i].id && arElements[i].id.indexOf(strId) > -1)			return(arElements[i]);	}	return null;}ga.show = function() {	for (var i=0; i<ga.show.arguments.length; i++) {		if ((elmLayer=ga.getObj(ga.show.arguments[i])))			elmLayer.style.visibility = "visible";	}}ga.hide = function() {	for (var i=0; i<ga.hide.arguments.length; i++) {		if ((elmLayer=ga.getObj(ga.hide.arguments[i])))			elmLayer.style.visibility = "hidden";	}}ga.setDisplay = function(strLayer,strValue) {	if (!(elmLayer=ga.getObj(strLayer)))		return false;	elmLayer.style.display = strValue;}ga.getX = function(strLayer,blnGlobal) {	if (!(elmLayer=ga.getObj(strLayer)))		return false;	var currentX = elmLayer.offsetLeft;	if (blnGlobal) {		while (elmLayer.offsetParent) {			elmLayer = elmLayer.offsetParent;			currentX += elmLayer.offsetLeft;		}	}	return currentX;}ga.getY = function(strLayer,blnGlobal) {	if (!(elmLayer=ga.getObj(strLayer)))		return false;	var currentY = elmLayer.offsetTop;	if (blnGlobal) {		while (elmLayer.offsetParent) {			elmLayer = elmLayer.offsetParent;			currentY += elmLayer.offsetTop;		}	}	return currentY;}ga.getW = function(strLayer) {	if (!(elmLayer=ga.getObj(strLayer)))		return false;	if (window.getComputedStyle) {		var style=getComputedStyle(elmLayer, null);		return parseInt(style.getPropertyValue('width'));	}	else if (elmLayer.style.pixelWidth)		return elmLayer.style.pixelWidth;	else if(elmLayer.offsetWidth)		return elmLayer.offsetWidth;}ga.getH = function(strLayer) {	if (!(elmLayer=ga.getObj(strLayer)))		return false;	if (window.getComputedStyle) {		var style=getComputedStyle(elmLayer, null);		return parseInt(style.getPropertyValue('height'));	}	else if (elmLayer.style.pixelHeight)		return elmLayer.style.pixelHeight;	else if(elmLayer.offsetHeight)		return elmLayer.offsetHeight;}ga.getScrollW = function(strLayer) {	if (!(elmLayer=ga.getObj(strLayer))) return false;	if (ga.ie)		return (ga.mac) ? elmLayer.offsetWidth : elmLayer.scrollWidth;	else if(ga.w3c)		return elmLayer.offsetWidth;}ga.moveTo = function(strLayer, x, y) {	if (!(elmLayer=ga.getObj(strLayer)))		return false;	if (x || x==0) elmLayer.style.left = x + "px";	if (y || y==0) elmLayer.style.top = y + "px";}ga.moveBy = function(strLayer, x, y) {	ga.moveTo(strLayer, ga.getX(strLayer) + x, ga.getY(strLayer) + y);}ga.clip = function(strLayer,t,r,b,l) {	if (!(elmLayer=ga.getObj(strLayer)))		return false;	elmLayer.style.clip = "rect("+t+"px "+r+"px "+b+"px "+l+"px)";}ga.clipBy = function(strLayer,dt,dr,db,dl){	if (!(elmLayer=ga.getObj(strLayer)))		return false;	var c=elmLayer.style.clip.substr(5);	c=c.substr(0,c.length-3).split("p");	c[1] = c[1].substr(2);	c[2] = c[2].substr(2);	c[3] = c[3].substr(2);	var t=dt+(c[0]*1);	var r=dr+(c[1]*1)+dl;	var b=db+(c[2]*1)+dt;	var l=dl+(c[3]*1);	elmLayer.style.clip="rect("+t+"px "+r+"px "+b+"px "+l+"px)";}ga.overlap = function(obj1,obj2) {	var objFirst = { x: ga.getX(obj1,true), y: ga.getY(obj1,true), width: obj1.offsetWidth, height: obj1.offsetHeight }	var objSecond = { x: ga.getX(obj2,true), y: ga.getY(obj2,true), width: obj2.offsetWidth, height: obj2.offsetHeight }	var xOverlap = true;	var yOverlap = true;		if (objFirst.x < objSecond.x) {		xOverlap = (objFirst.x + objFirst.width > objSecond.x) ? true: false;	} else {		xOverlap = (objSecond.x + objSecond.width > objFirst.x) ? true: false;	}	if (objFirst.y < objSecond.y) {		yOverlap = (objFirst.y + objFirst.height > objSecond.y) ? true: false;	} else {		yOverlap = (objSecond.y + objSecond.height > objFirst.y) ? true: false;	}	return (xOverlap && yOverlap) ? true: false;}ga.preload = function(strName, strSrc, blnDoNotPreload) {	if(blnDoNotPreload) eval(strName + " = new Object();");	else eval(strName + " = new Image();");	eval(strName+".src = '"+strSrc+"';");}ga.swapImage = function(strTarget, strNewPic, urlNewPic){	var objImage=ga.getObj(strTarget);	if(objImage){		if(strNewPic && eval("typeof(" + strNewPic +  ")") == "object")			objImage.src=eval(strNewPic+".src");		else if (urlNewPic)			objImage.src = urlNewPic;	}}ga.setOpacity = function(strLayer, intValue) {	var objLayer=ga.getObj(strLayer)	if(objLayer) {		objLayer.style.filter = "alpha(opacity=" + intValue + ")";	}}ga.getDocumentWidth = function(blnContent) {	var w	if (window.innerWidth) // Mozilla		w = (blnContent) ? document.documentElement.offsetWidth : window.innerWidth	else // IE		w = (blnContent) ? document.body.scrollWidth : document.body.clientWidth	return w}ga.getDocumentHeight = function(blnContent) {	var w	if (window.innerHeight) // Mozilla		w = (blnContent) ? document.documentElement.offsetHeight : window.innerHeight	else // IE		w = (blnContent) ? document.body.scrollHeight : document.body.clientHeight	return w}ga.addEvent = function(strLayer, strEvent, strFunction) {	if (!(elmLayer=ga.getObj(strLayer)))		return false;	if (elmLayer.addEventListener) {		elmLayer.addEventListener(strEvent, eval(strFunction), false);	} else if (elmLayer.attachEvent) {		elmLayer.attachEvent("on" + strEvent, eval(strFunction));	} else { // For browsers that don't have any of the addEventListener or attachEvent methods, we create a attachEvent method (NN4.x and IE 5.x on Mac)		if (!eval("elmLayer.addedEventFunctions_" + strEvent))			eval("elmLayer.addedEventFunctions_" + strEvent + " = ''");		eval("elmLayer.addedEventFunctions_" + strEvent + " += '" + strFunction + "(); '");		eval("elmLayer.on" + strEvent + " = new Function('" + eval("elmLayer.addedEventFunctions_" + strEvent) + "')");	}}// The attachEvent method does not exist on IE 5.x on Mac (or NN 4.x...), so we have to create it/*ga.createAttachEventMethod = function(strLayer, strEvent, strFunction) {	if (!(elmLayer=ga.getObj(strLayer)))		return false;	if (!eval("elmLayer.addedEventFunctions_" + strEvent))		eval("elmLayer.addedEventFunctions_" + strEvent + " = ''");	eval("elmLayer.addedEventFunctions_" + strEvent + " += '" + strFunction + "(); '");	eval("elmLayer.on" + strEvent + " = new Function('" + eval("elmLayer.addedEventFunctions_" + strEvent) + "')");}*/ga.getElementsByClassName = function (strClassName, strTagName, elmLayer) {	strTagName = strTagName || "*";	elmLayer = elmLayer || document;	var arAllElements = elmLayer.getElementsByTagName(strTagName);	var arElements = [];	for (var i=0; i<arAllElements.length; i++) {		if (arAllElements[i].className == strClassName)			arElements[arElements.length] = arAllElements[i];	}	return arElements.slice(0);}ga.elementGetElementsByName = function (strName, strTagName, elmLayer) {	strTagName = strTagName || "*";	elmLayer = elmLayer || document;	var arAllElements = elmLayer.getElementsByTagName(strTagName);	var arElements = [];	for (var i=0; i<arAllElements.length; i++) {		if (arAllElements[i].name == strName)			arElements[arElements.length] = arAllElements[i];	}	return arElements.slice(0);}ga.openWindow = function(strURL,strName,strOptions) {	if (!strOptions) strOptions = "location=yes,resizable=yes,scrollbars=yes,status=yes,toolbar=yes,";	else {		//parse the strOptions variable to get width and height		var arWidth = strOptions.match(/width=[0-9]+/i);		var arHeight = strOptions.match(/height=[0-9]+/i);		if (arWidth != null) {			//Center window horizontally			var intWidth = arWidth[0].substring(arWidth[0].lastIndexOf("=") + 1);			var x = (screen.width - intWidth) / 2;			x = (x<0) ? 0 : x			strOptions += ",left=" + x;		}		if (arHeight != null) {			//Center window vertically			var intHeight = arHeight[0].substring(arHeight[0].lastIndexOf("=") + 1);			var y = (screen.height - intHeight) / 2;			y = (y<0) ? 0 : y			strOptions += ",top=" + y;		}	}	var popup = window.open(strURL,strName,strOptions);}ga.getQS = function(strWhich){	var re = new RegExp( "[&\?]"+strWhich+"=([^&]*)&?", "i" );	re.exec(window.location.href);	return RegExp.$1;}// Returns the named attribute from an XML node.ga.getXmlNodeAttribute = function(elmNode, strAttribute) {	var arAttributes = new Enumerator(elmNode.attributes);	for (;!arAttributes.atEnd();arAttributes.moveNext()) {		if (arAttributes.item().name == strAttribute)			return arAttributes.item().value;	}	arAttributes = null;	return null;}ga.setXmlNodeAttribute = function(elmNode, strAttribute, strValue) {	var arAttributes = new Enumerator(elmNode.attributes);	for (;!arAttributes.atEnd();arAttributes.moveNext()) {		if (arAttributes.item().name == strAttribute)			arAttributes.item().value = strValue;	}	arAttributes = null;}if(ga.ie && !ga.mac){	document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');	document.write('Function VBflashCheck(reqVersion)\n'); 		document.write('on error resume next \n');	document.write('reqInstalled = false \n');	document.write('for i=reqVersion to 8 \n');	document.write('isInstalled=IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash."&i)) \n');	document.write('if isInstalled then \n');	document.write('reqInstalled=true \n');	document.write('end if \n');	document.write('next \n');	document.write('VBflashCheck=reqInstalled \n');	document.write('End function\n');	document.write('</SCR' + 'IPT\> \n');}ga.flashCheck = function(intReqVersion){	if (navigator.plugins){			if (navigator.plugins["Shockwave Flash"]){			var flashDescription = navigator.plugins["Shockwave Flash"].description;			var flashVersion = parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1));			return (flashVersion>=intReqVersion) ? true:false		}		else if(ga.ie && !ga.mac) return VBflashCheck(intReqVersion)		else return false	}	else return false}ga.setCookie = function(strName, strValue, objExpires, strPath) {	var strCookie = strName + "=" + escape(strValue)	if(objExpires) strCookie += ";expires=" + objExpires.toGMTString()	if(strPath) strCookie += ";path=" + strPath	document.cookie = strCookie}ga.getCookie = function(strName) {	var t=document.cookie.match(new RegExp(strName + "=([^;]*)"))	return (t)?unescape(t[1]):t}ga.delCookie = function(strName) {	if (ga.getCookie(strName)) document.cookie = strName + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT"}if(!Array.prototype.push || [0].push(true)==true) {	Array.prototype.push = function() {		for(var i=0;i<arguments.length;i++){			this[this.length]=arguments[i]		};		return this.length;	}}String.prototype.trim = function(blnLeft, blnRight) {	if(blnLeft) return this.replace(/^\s*/,'')	else if(blnRight) return this.replace(/\s*$/,'')	else return this.match(/^\s*([^\s]*)\s*$/)[1]}String.prototype.replaceStr = function(strFind,strReplace){	var re = new RegExp(strFind)	return this.replace(re,strReplace)}ga.printPage = function(objTargetFrame){	if(window.print || (ga.ie && ga.win)){		if(!objTargetFrame){			if(window.print) window.print()			else if(ga.ie && !ga.mac) vbPrintPage()		}		else{			if(window.print && ga.ie){				objTargetFrame.focus()				window.print()			} 			else if(window.print) objTargetFrame.print()			else if(ga.ie && !ga.mac){				objTargetFrame.focus()				setTimeout("vbPrintPage()", 100)			} 		}	}}if(ga.ie && !window.print && !ga.mac){	with(document){		writeln('<OBJECT ID="WB" WIDTH="0" HEIGHT="0" CLASSID="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>')		writeln('<' + 'SCRIPT LANGUAGE="VBScript">')		writeln('Sub window_onunload')		writeln('  On Error Resume Next')		writeln('  Set WB = nothing')		writeln('End Sub')		writeln('Sub vbPrintPage')		writeln('  On Error Resume Next')		writeln('  WB.ExecWB 6, 1')		writeln('End Sub')		writeln('<' + '/SCRIPT>')	}}