if (window.Website == null || window.Website == undefined) {
	Website = { };	
}

Website.Animations = { };

Website.Animations.ArrowStartOpacity = 0.5;
Website.Animations.ArrowEndOpacity = 1;

Website.Animations.Duration = 250;
Website.Animations.Transition = Fx.Transitions.Sine.easeOut;

Website.Animations.Fade = function(link, startOpacity, endOpacity) {
	if (link) {
		link.Class = link.getProperty("class");
		
		if (link.Class == null || link.Class == "") {
			link.Class = link.getProperty("id");	
		}
		
		link.StartOpacity = startOpacity;
		link.EndOpacity = endOpacity;
		
		if (link.StartOpacity < 0.1) { link.StartOpacity = 0.1; }
		if (link.EndOpacity < 0.1) { link.EndOpacity = 0.1; }
		
		if (link.StartOpacity > 1) { link.StartOpacity = 1; }
		if (link.EndOpacity > 1) { link.EndOpacity = 1; }
			
		link.addEvent("click", function() { return Website.Animations.Fade.Click(this); });
		link.addEvent("mouseover", function() { return Website.Animations.Fade.MouseOver(this); });
		link.addEvent("mouseout", function() { return Website.Animations.Fade.MouseOut(this); });
		
		var overlay = link.getElement(".animationOverlay,IMG");
		var size = link.getSize();
		
		var overlayExists = (overlay != null && overlay != undefined);
		
		if (!overlayExists) {
			overlay = new Image();
			overlay = $(overlay);
			
			overlay.src = Website.URLRoot + "assets/images/template/_.gif";
			
			overlay.setStyle("width", size.x);
			overlay.setStyle("height", size.y);
		}
		
		overlay = $(overlay);
		
		overlay.addClass(link.Class + "Overlay");
		overlay.setStyle("opacity", link.StartOpacity);
					 
		overlay.setProperty("title", link.title);
		overlay.setProperty("alt", link.title);
	
		if (!overlayExists) {
			overlay.inject(link);
		}
	}
}

Website.Animations.Fade.Click = function(link) {
	if (link) {
		link.addClass(link.Class + "Click");
	}
	
	return true;
}

Website.Animations.Fade.MouseOver = function(link) {
	if (link) {
		var img = link.getElement(".animationOverlay,IMG");
		
		if (img && !img.hasClass(img.Class + "Click")) {
			img.Active = true;
			
			function completeEffect() {
				
			}
			
			if (img.Effect != null) {
				img.Effect.cancel();	
			}
			
			img.addClass(link.Class + "Hover");
			
			img.Effect = new Fx.Morph(img, {duration: Website.Animations.Duration, transition: Website.Animations.Transition, onComplete: completeEffect});
			img.Effect.start({ opacity: link.EndOpacity });
		}
	}
}

Website.Animations.Fade.MouseOut = function(link) {
	if (link) {
		var img = link.getElement(".animationOverlay,IMG");
		
		if (img && !img.hasClass(link.Class + "Click")) {
			img.Active = false;
			
			function runEffect() {
				if (img.Active != true) {
					if (img.Effect != null) {
						img.Effect.cancel();	
					}
					
					img.Visible = false;
				
					function completeEffect() {
						img.removeClass(link.Class + "Hover");		
					}
					
					img.Effect = new Fx.Morph(img, {duration: Website.Animations.Duration, transition: Website.Animations.Transition, onComplete: completeEffect });
					img.Effect.start({ opacity: link.StartOpacity });	
				}
				
				clearInterval(img.Interval);
			}
				
			img.Interval = setInterval(runEffect, 50);
		}
	}
}