/**
 * Homepage.js
 * Copyright (c) Fluid Creativity, 2009
 *
 * Functionality specific to homepage.
 */

Homepage = {

	init: function() {
		Homepage.setupAutoShowreel();
		Homepage.setupServiceSlides();
		Homepage.setupVideoPromo();
		Homepage.setupPortfolioImages();
	},

	setupAutoShowreel: function () {
		var homepagePromo = $('homepagePromo');
		if (homepagePromo.hasClass('displayShowreel')) {
			Homepage.showVideoPopup();
		}
	},

	setupServiceSlides: function() {
	        var servicesBlock = $('servicesBlock');

		if (servicesBlock) {
		        new ContentPager(servicesBlock.getElement('div'), {
		                pageLinksContainer: servicesBlock.getElement('h2')
			});
		}
	},

	setupVideoPromo: function() {
		if (typeof(HomepageTheme) !== "undefined" && HomepageTheme.init) {
			HomepageTheme.init();
		} else {
			new Swiff('/flash/loveDesign.swf', {
				container: 'loveDesign',
				width: 400,
				height: 377,
				params: {
					wmode: 'transparent'
				}
			});
			
			new Swiff('/flash/rainbow.swf', {
				container: 'rainbow',
				width: 296,
				height: 184,
				params: {
					wmode: 'transparent'
				}
			});
			
			if (Browser.Platform.mac /*&& Browser.Engine.Gecko*/) {
				$('rainbow').setStyle('left', '131px');
			}
		}
	},

	setupPortfolioImages: function() {
		var portfolioBlock = $('portfolioBlock');

		if (portfolioBlock) {
			new Request.JSON({
				url: '/ajax/portfolio/type/showcase',
				onSuccess: function(data) {
					if (!data || data < 1) return;

					if (portfolioBlock.getLast('a')) {
						portfolioBlock.getLast('a').destroy();
					}

					$each(data, function(item) {
						portfolioBlock.adopt(
							new Element('a', { 'href': item.link }).adopt(
								new Element('img', { 'src': item.image, 'alt': item.title })
							)
						);
					});

					new ContentScroller({
						controlContainer: portfolioBlock,
						includePages: true,
						slides: portfolioBlock.getElements('a'),
						onChanged: function(e) {
							var currentTitle = portfolioBlock.getElement('h2').get('text');
							var newTitle = this.getCurrentSlide().getFirst().get('alt');

							if (currentTitle != newTitle) {
								portfolioBlock.getElement('h2').set('text', newTitle);
								Cufon.replace(portfolioBlock.getElement('h2'));
							}
						}
					}).start();
				}
			}).get();
		}
	},
	
	showVideoPopup: function() {
		SqueezeBox.open(
			new Swiff('/flash/homepage.swf', {
				width: 526,
				height: 296,
				params: {
					wmode: 'transparent'
				}
			}), { handler: 'adopt', size: { x: 526, y: 296 } }
		);

	}
};

window.addEvent('domready', Homepage.init);
