		var myFx;
		window.addEvent('domready',function(){
			myFx = new Fx.Slide($('sagronaLabel'), {duration: 'normal'});
			addLabelEvent();
			$('closeGif').addEvent('click',function(){
				$('underMenu').setStyle('zIndex','');
				$('sagronaLabel').setStyle('visibility','visible');			
				myFx.slideIn('horizontal').chain(function(){
					$('sagronaLabel').addEvent('mouseout',function(){
						addLabelEvent();
					});
				});
			});
			$('closeGif').addEvent('mouseover',function(){
				$('closeGif').setStyle('borderColor','#999999');
			});
			$('closeGif').addEvent('mouseout',function(){
				$('closeGif').setStyle('borderColor','transparent');
			});
			$('chianticlassico').addEvent('click',function(){
				document.location="/sagrona/wine/ChiantiClassico.jsp";
			});
			$('chianticlassico').addEvent('mouseover',function(){
				$('chianticlassico').setStyle('borderColor','#999999');
			});
			$('chianticlassico').addEvent('mouseout',function(){
				$('chianticlassico').setStyle('borderColor','transparent');
			});
			$('oliveoil').addEvent('click',function(){
				document.location="/sagrona/oliveoil/OliveOil.jsp";
			});
			$('oliveoil').addEvent('mouseover',function(){
				$('oliveoil').setStyle('borderColor','#999999');
			});
			$('oliveoil').addEvent('mouseout',function(){
				$('oliveoil').setStyle('borderColor','transparent');
			});
			
			$('alex').addEvent('click',function(evt){
				evt.stop();
				$('alex').blur();
			});
			$('alex').addEvent('mouseover',function(evt){
				evt.stop();
				doThought('alex', '-62px', '-164px');
			});			
			/* We get blinking if we use mouseout, so we'll just leave the thoughts open
			$('alex').addEvent('mouseout',function(evt){
				evt.stop();
				removeThought('alex');
			});
			*/
			$('julia').addEvent('click',function(evt){
				$('julia').blur();
			});			
			$('julia').addEvent('mouseover',function(evt){
				doThought('julia', '-64px', '-160px');
			});
			/*
			$('julia').addEvent('mouseout',function(evt){
				removeThought('julia');
			});
			*/
			$('mum').addEvent('mouseover',function(evt){
				evt.stop();
				doProductThought('mum', 'contactThoughtDiv', 40, -60);
			});
			$('mumagain').addEvent('mouseover',function(evt){
				evt.stop();
				doProductThought('mum', 'contactThoughtDiv', 40, -60);
			});

			$('irises').addEvent('mouseover',function(evt){
				evt.stop();
				doProductThought('irises', 'irisesThoughtDiv', -170, -60);
			});


			$('wine').addEvent('mouseover',function(evt){
				evt.stop();
				doProductThought('wine', 'wineThoughtDiv', -170, -60);
			});

			$('oil').addEvent('mouseover',function(evt){
				evt.stop();
				doProductThought('oil', 'oliveOilThoughtDiv', 80, -60);
			});


		});
		
		
		function closePopup(){
			if($defined($('currentPopup'))){
				$('currentPopup').destroy();
			}
		}
		
		
		function openPopup(theUrl, callingObjId, xOffset, yOffset){
				var myRequest = new Request({
					url: theUrl,
					method: 'get',
					onSuccess: function(responseText, responseXML){

						var callingObj = $(callingObjId);
						if(!$defined($('currentPopup'))){
							var popup = new Element('div',{
								id: 'currentPopup',
								styles: {
									position: 'absolute',
									left: (callingObj.getPosition().x + xOffset) + 'px',
									top: (callingObj.getPosition().y + yOffset) + 'px',
									zIndex: 2
								}
							});
							
							popup.innerHTML = responseText;
							popup.inject(document.body);
							//there always needs to be a closeBox object of course
							//$('closeBox').addEvent('click',function(event){
								//stop the href from doing its job
								//event.stop();
								//popup.destroy();
							//});
						}//end if
					}
				});
				myRequest.send();
		
		}//end openPopup
		
		
		function addLabelEvent(){
		 	var newmyfx = this.myFx;
			$('sagronaLabel').addEvent('mouseover',function(){
				newmyfx.slideOut('horizontal').chain(function(){
					$('underMenu').setStyle('zIndex','2');
					$('sagronaLabel').setStyle('visibility','hidden');
					$('sagronaLabel').removeEvents();
				});
			});
		}
		
		function doProductThought(callingObjId, thoughtId, xOffset, yOffset){

			destroyKidsThoughts();

			if($(thoughtId).getStyle('visibility') == 'visible'){
				return;
			}
		
			var callingObj = $(callingObjId);


			$(thoughtId).setStyle('position', 'absolute');
			$(thoughtId).setStyle('left', (callingObj.getPosition().x + xOffset) + 'px');
			$(thoughtId).setStyle('top',(callingObj.getPosition().y + yOffset) + 'px');
			$(thoughtId).setStyle('visibility', 'visible');
		}

		function doThought(who, topPos, leftPos){
			$(who).blur();
			if($defined($(who + 'Thought'))){
				return;
			}

			destroyKidsThoughts();
			
			var ourElement = new Element('img',{
				src: '/sagrona/images/' + who + 'Thought.gif',
				id: who + 'Thought',
				styles:{
					position: 'relative',
					top: topPos,
					left: leftPos,
					borderWidth: '0px'
				}
			});
			ourElement.inject(who);
		}

		/**		
		 * Destroys any alex or julia thoughts that might be open
		 */
		function destroyKidsThoughts(){
			var thoughts = $$('img[id$=Thought]');
			thoughts.each(function(el){
				el.destroy();
			});
		}

		function removeThought(who){
			if(!($defined($(who + 'Thought')))){
				return;
			}
			$(who + 'Thought').destroy();
		}
		
		

		function doShadow(topObj){
			var shadowDiv = new Element('div',{
				id: 'currentPopupShadow',
				styles:{
					position: 'absolute',
					left: topObj.getPosition().x + 5,
					top: topObj.getPosition().y + 5
				}
			});
			var shadow = new Element('img',{
				src: '/common/shadow.png',
				styles: {
					width: topObj.getStyle('width'),
					height: topObj.getStyle('height')
				}
			});
			shadow.inject(shadowDiv);
			shadowDiv.inject(document.body);
		}

