var Site = {
	initialize: function() {
		Site.top = $("top-wrap");
		Site.topHanlder = $("top-hook");
		Site.displayHeight = 12;

		if(Site.top && Site.topHanlder) {
			Site.topTween = new Fx.Tween(Site.top);
			Site.topSize = Site.top.getSize();
			Site.topOpen = false;
			Site.topTween.set("margin-top", -(Site.topSize.y - Site.displayHeight) + "px");

			Site.topHanlder.addEvent("click", Site.toggleTop);
		}

		$(document.body).getElements('.product .images').each(function(item) {
			var image = item.getElement('.image img');

			if(image) {
				item.getElements('ul a').each(function(a) {
					a.addEvent('click', function() {
						image.set('src', a.get('href'));

						return false;
					});
				});
			}
		});

		Site.initBanners();
	},

	toggleTop: function() {
		if(Site.topOpen) {
			Site.topHanlder.removeClass("open");
			Site.topTween.start("margin-top", -(Site.topSize.y - Site.displayHeight) + "px");
		} else {
			Site.topHanlder.addClass("open");
			Site.topTween.start("margin-top", 0);
		}

		Site.topOpen = !Site.topOpen;
	},

	initBanners: function() {
		var banner = $("banner");
		var image = banner.getElement("img");
		var loader = image.clone().inject(banner);
		var list = $("banners-list");
		var banners = list.getChildren();
		var firstBanner = list.getFirst();
		var activeBanner = firstBanner;
		var delay = 5000;
		var duration = 1000;

		var next = function() { 
			var next = activeBanner.getNext();
			if(!next) next = firstBanner;
			next.fireEvent("click"); 
		}

		var rotator = next.delay(delay);

		var tween = new Fx.Tween(loader, {duration: duration}).set("opacity", 0);
		tween.addEvent("complete", function() {
			image.set("src", loader.get("src"));
			tween.set("opacity", 0);
			rotator = next.delay(delay);
		});

		banners.each(function(item) {
			var bannerLink = item.getElement(".banner-link");
			var pageLink = item.getElement(".page-link");

			item.addEvent("click", function() {
				$clear(rotator);

				banner.set("href", pageLink.get("href"));
				loader.set("src", bannerLink.get("href"));

				tween.start("opacity", 1);

				activeBanner.removeClass("active");
				activeBanner = item;
				activeBanner.addClass("active");

				return false;
			});
		});
	}
};

window.addEvent("domready", Site.initialize);