/*
	by Paul@YellowPencil.com and Scott@YellowPencil.com
*/
var divs = new Array('leftNav', 'content');

function scriptInit() { if (!document.getElementById) { return; } }

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; }
}

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'; } }
		}
	}
}

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(); } 
}

addEvent(window, 'load', initTall, false);
addEvent(window, 'resize', setTall, false);

/*	Detects changes to font sizes when user changes browser settings
	author Lawrence Carvalho carvalho@uk.yahoo-inc.com */

// @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); 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 {
		 	init: function() {

		 		createControlElement();
				_startDetector();
 			},
 			addEventListener:function(fn,obj,bScope) {
				aListeners[aListeners.length] = {
					fn: fn,
					obj: obj
				}
				return iBase;
			},
 			detect:function() {
 				return _detect();
 			},
 			getSize:function() {
	 				var iSize;
			 		return el.offsetHeight;


 			},
 			stopDetector:function() {
				return _stopDetector();
			},
 			startDetector:function() {
				return _startDetector();
			}
 	}
 }();

/*** end TextResizeDetector */
TextResizeDetector.TARGET_ELEMENT_ID = 'doc';
TextResizeDetector.USER_INIT_FUNC = function() {
	var iBase = TextResizeDetector.addEventListener(setTall, null);
};

