//mouseenter/mouseleave support for non-ie browsers, use "addEvent" to add events function addEvent(_elem, _evtName, _fn, _useCapture) { if (typeof _elem.addEventListener != 'undefined'){ if (_evtName === 'mouseenter') { _elem.addEventListener('mouseover', mouseEnter(_fn), _useCapture); } else if (_evtName === 'mouseleave') { _elem.addEventListener('mouseout', mouseEnter(_fn), _useCapture); } else { _elem.addEventListener(_evtName, _fn, _useCapture); } } else if (typeof _elem.attachEvent != 'undefined'){ _elem.attachEvent('on' + _evtName, _fn); } else { _elem['on' + _evtName] = _fn; } } function mouseEnter(_fn){return function(_evt){var relTarget = _evt.relatedTarget;if (this === relTarget || isAChildOf(this, relTarget)){ return; }_fn.call(this, _evt);}}; function isAChildOf(_parent, _child){if (_parent === _child) { return false; }while (_child && _child !== _parent){ _child = _child.parentNode; }return _child === _parent;} var charList=new Object(); charList["'"]="[[apostrophe]]"; charList["’"]="[[apostrophe-r]]"; charList["‘"]="[[apostrophe-l]]"; function tomEncode(inStr) { for (key in charList) { inStr=inStr.split(key); inStr=inStr.join(charList[key]); } return inStr; } function tomDecode(inStr) { for (key in charList) { inStr=inStr.split(charList[key]); inStr=inStr.join(key); } return inStr; } function checkFor(what,inwhat) { if (inwhat.indexOf(what)<0) { return false; } else { return true; } } window.domReadyCalls=[]; var alreadyrunflag=false; if (/Safari/i.test(navigator.userAgent)) { var _timer=setInterval(function(){ if (/loaded|complete/.test(document.readyState)) { clearInterval(_timer); domReadyTrigger(); }}, 10); } else if (document.addEventListener) { document.addEventListener('DOMContentLoaded', function(){ domReadyTrigger(); }, false); } else if (document.all && !window.opera) { document.write('