var divs = new Array('left-side', 'right-side');// Initialize Scripts - is this a browser that understands DOM?function scriptInit() { if (!document.getElementById) { return; } }// Set up Event Listenerfunction addEvent(elm, evType, fn, useCapture) { 	if (elm.addEventListener) { elm.addEventListener(evType, fn, useCapture); return true; } 	else if (elm.attachEvent) { var r = elm.attachEvent('on' + evType, fn); return r; }	else { elm['on' + evType] = fn; }}// Start Column Scriptfunction setTall() {	if (document.getElementById) { var maxHeight = 0; for (var i = 0; i < divs.length; i++) {			if (document.getElementById(divs[i]) != null)			{ var div = document.getElementById(divs[i]); div.style.height = null; if (div.offsetHeight > maxHeight) maxHeight = div.offsetHeight; }		}	for (var i = 0; i < divs.length; i++) {			if (document.getElementById(divs[i]) != null)			{ var div = document.getElementById(divs[i]); div.style.height = maxHeight + 'px'; if (div.offsetHeight > maxHeight) { div.style.height = (maxHeight - (div.offsetHeight - maxHeight)) + 'px'; } }		}	}}// Assign one of the columns to the TextResizeDetector.function initTall() {	if (document.getElementById) { for (var i = 0; i < divs.length; i++)		{ if (document.getElementById(divs[i]) != null) { TextResizeDetector.TARGET_ELEMENT_ID = divs[i]; break; } }	setTall(); } }// Fire EventsaddEvent(window, 'load', initTall, false);addEvent(window, 'resize', setTall, false);// @constructorTextResizeDetector = function() {    var el  = null;	var iIntervalDelay  = 200;	var iInterval = null;	var iCurrSize = -1;	var iBase = -1; 	var aListeners = []; 	var createControlElement = function() {	 	el = document.createElement('span');		el.id='textResizeControl';		el.innerHTML='&nbsp;';		el.style.position="absolute";		el.style.left="-9999px";		var elC = document.getElementById(TextResizeDetector.TARGET_ELEMENT_ID);		// insert before firstChild		if (elC)			elC.insertBefore(el,elC.firstChild);		iBase = iCurrSize = TextResizeDetector.getSize(); 	}; 	function _stopDetector() {		window.clearInterval(iInterval);		iInterval=null;	};	function _startDetector() {		if (!iInterval) {			iInterval = window.setInterval('TextResizeDetector.detect()',iIntervalDelay);		}	}; 	 function _detect() { 		var iNewSize = TextResizeDetector.getSize(); 		if(iNewSize!== iCurrSize) {			for (var 	i=0;i <aListeners.length;i++) {				aListnr = aListeners[i];				var oArgs = {  iBase: iBase,iDelta:((iCurrSize!=-1) ? iNewSize - iCurrSize + 'px' : "0px"),iSize:iCurrSize = iNewSize};				if (!aListnr.obj) {					aListnr.fn('textSizeChanged',[oArgs]);				}				else  {					aListnr.fn.apply(aListnr.obj,['textSizeChanged',[oArgs]]);				}			} 		} 		return iCurrSize; 	};	var onAvailable = function() {		if (!TextResizeDetector.onAvailableCount_i ) {			TextResizeDetector.onAvailableCount_i =0;		}		if (document.getElementById(TextResizeDetector.TARGET_ELEMENT_ID)) {			TextResizeDetector.init();			if (TextResizeDetector.USER_INIT_FUNC){				TextResizeDetector.USER_INIT_FUNC();			}			TextResizeDetector.onAvailableCount_i = null;		}		else {			if (TextResizeDetector.onAvailableCount_i<600) {	  	 	    TextResizeDetector.onAvailableCount_i++;				setTimeout(onAvailable,200)			}		}	};	setTimeout(onAvailable,500); 	return {		 	/*		 	 * Initializes the detector		 	 *		 	 * @param {String} sId The id of the element in which to create the control element		 	 */		 	init: function() {		 		createControlElement();				_startDetector(); 			},			/**			 * Adds listeners to the ontextsizechange event.			 * Returns the base font size			 *			 */ 			addEventListener:function(fn,obj,bScope) {				aListeners[aListeners.length] = {					fn: fn,					obj: obj				}				return iBase;			},			/**			 * performs the detection and fires textSizeChanged event			 * @return the current font size			 * @type {integer}			 */ 			detect:function() { 				return _detect(); 			}, 			/** 			 * Returns the height of the control element 			 *			 * @return the current height of control element			 * @type {integer} 			 */ 			getSize:function() {	 				var iSize;			 		return el.offsetHeight; 			}, 			/** 			 * Stops the detector 			 */ 			stopDetector:function() {				return _stopDetector();			},			/*			 * Starts the detector			 */ 			startDetector:function() {				return _startDetector();			} 	} }();/*** end TextResizeDetector */TextResizeDetector.TARGET_ELEMENT_ID = 'doc';TextResizeDetector.USER_INIT_FUNC = function() {	var iBase = TextResizeDetector.addEventListener(setTall, null);};