function popupInit() {
	
	if ($('popup-listener') != null) {
		Event.observe('popup-listener', 'mouseover', function(){
			$('popup').setStyle({ visibility: 'visible' });
			$('close-listener').setStyle({ visibility: 'visible' });
			$('pop-overlay').setStyle({ visibility: 'visible' });
			
			$('popup').show();
			$('close-listener').show();
			$('pop-overlay').show();
			
			// $('pop-overlay').style.height = $('body').getHeight()+'px';
			var yWithScroll;
			var xWithScroll;
			if (window.innerHeight && window.scrollMaxY) { // Firefox
				yWithScroll = window.innerHeight + window.scrollMaxY;
				xWithScroll = window.innerWidth + window.scrollMaxX;
			} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
				yWithScroll = document.body.scrollHeight;
				xWithScroll = document.body.scrollWidth;
			} else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari
				yWithScroll = document.body.offsetHeight;
				xWithScroll = document.body.offsetWidth;
			}
			var arrayPageSizeWithScroll = new Array(xWithScroll,yWithScroll);
			// $('pop-overlay').style.width = xWithScroll+'px';
			$('pop-overlay').style.height = yWithScroll+'px';
			
			var loff = $('popup-listener').positionedOffset();
			var pdim = $('popup').getDimensions();
			var gdim = $('popup-listener').getDimensions();
			var pos = $('popup-listener').readAttribute('rel');
			
			var top;
			var left;
			switch (pos) {
				case 'above-left':
					top = loff.top - pdim.height + 16;
					left = loff.left - pdim.width + (gdim.width*.5) + 40;
					break;
				case 'above-right':
					top = loff.top - pdim.height + 16;
					left = loff.left - 40 + (gdim.width*.5);
					break;
				case 'left':
					top = loff.top - (pdim.height-gdim.height)*.5 + 10;
					left = loff.left - pdim.width + 5;
					break;
				case 'below-left':
					top = loff.top + gdim.height - 0;
					left = loff.left - pdim.width + (gdim.width*.5) + 40;
					break;
			}
			
			$('popup').setStyle({top: top+'px', left: left+'px'});			
			$('close-listener').setStyle({top: loff.top+'px', left: loff.left+'px', width: gdim.width+'px', height: gdim.height+'px'});
		});
	}
		
	if ($('popup') != null) {
		$('popup').hide();
	}
	
	if ($('pop-overlay') != null) {	
		$('pop-overlay').hide();	
		Event.observe('pop-overlay', 'click', function(){
			$('popup').hide();
			$('close-listener').hide();
			$('pop-overlay').hide();
		});
	}
	
	if ($('close-listener') != null) {	
		$('close-listener').hide();
		Event.observe('close-listener', 'mouseout', function(){
			$('popup').hide();
			$('close-listener').hide();
			$('pop-overlay').hide();
		});
	}
}
Event.observe(window, 'load', popupInit, false);