function show_info(event) {
	if (typeof event == 'undefined') {
		event = window.event;
	}
	var target = getEventTarget(event);
	var content = target.getAttribute('title');
	content.replace('residential address', '<strong>residential address</strong>');
	var d = document.createElement('div');
	target.tooltip = d;
	//d.style.display = 'none';
	d.style.backgroundColor = '#fcfec8';
	d.style.border = 'solid 1px gray';
	d.style.width = '180px';
	d.style.height = '40px';
	d.style.padding = '10px';
	d.style.fontSize = '1.2em';
	d.style.zIndex = '99';
	d.appendChild(document.createTextNode(content));
	target.setAttribute('title', '');
	var scrollingPosition = getScrollingPosition();
	var cursorPosition = [0, 0];
	if (typeof event.pageX != 'undefined' && typeof event.x != 'undefined') {
		cursorPosition[0] = event.pageX;
		cursorPosition[1] = event.pageY;
	} else {
		cursorPosition[0] =event.clientX + scrollingPosition[0];
		cursorPosition[1] =event.clientY + scrollingPosition[1];
	}
	d.style.position = 'absolute';
	d.style.left = cursorPosition[0] + 10 + 'px';
	d.style.top = cursorPosition[1] + 10 + 'px';
	document.getElementsByTagName('body')[0].appendChild(d);
}

function hide_info(event) {
	if (typeof event == 'undefined') {
		event = window.event;
	}
	var target = getEventTarget(event);
	if (target.tooltip != null) {
		target.setAttribute('title', target.tooltip.childNodes[0].nodeValue);
		target.tooltip.parentNode.removeChild(target.tooltip);
	}
	return false;
}

function setup() {
	if (typeof document.getElementById != undefined  && typeof getElementsByTagName != undefined) {
		var question = document.getElementById('contact-question');
		attachEventListener(question, 'mouseover', show_info, false);
		attachEventListener(question, 'mouseout', hide_info, false);
	}
}

function getScrollingPosition() {
	var position = [0, 0];
	if (typeof window.pageYOffset != 'undefined') {
		position = [window.pageXOffset, window.pageYOffset];
	} else if (typeof document.documentElement.scrollTop != 'undefined' && document.documentElement.scrollTop > 0) {
		position = [document.documentElement.scrollLeft, document.documentElement.scrollTop];
	} else if (typeof document.body.scrollTop != 'undefined') {
		position = [document.body.scrollLeft, document.body.scrollTop];
	}
	return position;
}

function getEventTarget(event) {
	var targetElement = null;
	if (typeof event.target != 'undefined') {
		targetElement = event.target;
	} else {
		targetElement = event.srcElement;
	}
	while (targetElement.nodeType == 3 && targetElement.parentNode != null) {
		targetElement = targetElement.parentNode;
	}
	return targetElement;
}

function attachEventListener(target, eventType, functionRef, capture) {
	if (typeof target.addEventListener != 'undefined') {
		target.addEventListener(eventType, functionRef, capture);
	} else if (typeof target.attachEvent != 'undefined') {
		target.attachEvent('on' + eventType, functionRef);
	} else {
		eventType = 'on' + eventType;
		if (typeof target[eventType] == 'function') {
			var oldListener = target[eventType];
			target[eventType] = function() {
				oldListener();
				return functionRef();
			};
		} else {
			target[eventType] = functionRef;
		}
	}
}

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;	
		}
}

addEvent(window,'load',setup,false);