new YAHOO.util.YUILoader(
	{
		require: ["animation"],
		base: "/yui/",
		onSuccess: function() {
			var Region = YAHOO.util.Region;
			var Animate = YAHOO.util.Anim;
			var Easing = YAHOO.util.Easing;
			var Point = YAHOO.util.Point;
			var Event = YAHOO.util.Event;
			var Dom = YAHOO.util.Dom;
			
			function init() {
				var boxes = Dom.getElementsByClassName("boxes", "div");
				var links = boxes[0].getElementsByTagName("a");
				
				for(var i = 0; i < links.length; i++) {
					var p = document.createElement("p");
					Dom.setStyle(p, "opacity", 0.5);
					links[i].appendChild(p);
					var animation = new Animate(
						p,
						{
							height: { to: 32 }
						},
						0.5,
						YAHOO.util.Easing.easeOutStrong
					);
					Event.on(
						links[i],
						"mouseover",
						function(e, element) {
							if(this.attributes.height.to != 125) {
								this.stop();
								this.duration = 0.25;
								this.method = Easing.easeBoth;
								this.attributes.height.to = 125;
								this.animate();
							}
						},
						null,
						animation
					);
					Event.on(
						links[i],
						"mouseout",
						function(e, element) {
							var point = new Point(Event.getPageX(e), Event.getPageY(e));
							var region = Region.getRegion(element);
							region.top += parseInt(Dom.getStyle(element, "paddingTop"));
							region.right -= parseInt(Dom.getStyle(element, "paddingRight"));
							region.bottom -= parseInt(Dom.getStyle(element, "paddingBottom"));
							region.left += parseInt(Dom.getStyle(element, "paddingLeft"));
							if(!region.contains(point)) {
								this.stop();
								this.duration = 1;
								this.method = Easing.elasticOut;
								this.attributes.height.to = 32;
								this.animate();
							}
						},
						links[i],
						animation
					);
				}
			}
			
			init();
		}
	}
).insert();