// Mirvac Specific Code
var HomeBanners = {

	totalBanners: $('.home_banner').size(),
	currentBanner: 0,
	bannersPlaying: true,
	
	init: function(){
		$('#home_banners_controls').css('visibility', 'visible');
		$('.home_banner').eq(0).clone().appendTo('#home_banners_holder');
		HomeBanners.bindEvents();
		bannerTimer = setTimeout(HomeBanners.playBanners, 4000);
		HomeBanners.updateCounter();
	},
	
	bindEvents: function() {
		$('#home_banners_stop').click(function(){
			if(HomeBanners.bannersPlaying) {
				clearTimeout(bannerTimer);
				$('#home_banners_controls .active').removeClass('active');
				$(this).addClass('active')
				HomeBanners.bannersPlaying = false;
			}	
		});
		$('#home_banners_play').click(function(){
			if(!HomeBanners.bannersPlaying) {
				HomeBanners.playBanners();
				$('#home_banners_controls .active').removeClass('active');
				$(this).addClass('active')
				HomeBanners.bannersPlaying = true;	
			}
		});
		$('#home_banners_next').click(function(){
			HomeBanners.nextBanner();
		});
		$('#home_banners_prev').click(function(){
			HomeBanners.prevBanner();
		});
	},
	
	playBanners: function(){
		$('#home_banners_holder').animate({
			marginLeft: -(549*(HomeBanners.currentBanner+1))
		}, 400, function() {
			HomeBanners.currentBanner ++;
			if(HomeBanners.currentBanner == HomeBanners.totalBanners){
				$('#home_banners_holder').css('marginLeft', '0px');
				HomeBanners.currentBanner = 0;
			}
			bannerTimer = setTimeout(HomeBanners.playBanners, 3000);
			HomeBanners.updateCounter();
		  });
	},
	
	nextBanner: function(){
		clearTimeout(bannerTimer);
		$('#home_banners_holder').animate({
			marginLeft: -(549*(HomeBanners.currentBanner+1))
		}, 400, function() {
			HomeBanners.currentBanner ++;
			if(HomeBanners.currentBanner == HomeBanners.totalBanners){
				$('#home_banners_holder').css('marginLeft', '0px');
				HomeBanners.currentBanner = 0;
			}
			if (HomeBanners.bannersPlaying) {bannerTimer = setTimeout(HomeBanners.playBanners, 3000);}
			HomeBanners.updateCounter();
		});
	},
	
	prevBanner: function(){
		clearTimeout(bannerTimer);
		if(HomeBanners.currentBanner == 0){
			$('#home_banners_holder').css('marginLeft', -549*HomeBanners.totalBanners);
			HomeBanners.currentBanner = HomeBanners.totalBanners;
		}
		HomeBanners.currentBanner --;
		$('#home_banners_holder').animate({
			marginLeft: -(549*(HomeBanners.currentBanner))
		}, 400, function() {
			if (HomeBanners.bannersPlaying) {bannerTimer = setTimeout(HomeBanners.playBanners, 3000);}
			HomeBanners.updateCounter();
		});
	},
	
	updateCounter: function() {
		var caption = HomeBanners.currentBanner+1 + '/' + HomeBanners.totalBanners;
		$('#home_banners_count').html(caption);
	}

};

$(function() {
	if( $('div#home_banners #home_banners_holder .home_banner').size() > 0 ){
		HomeBanners.init();
	}
});
