/**
 * Dynamic HTML effects
 */



/**
 * Onload
 */
window.addEvent('domready', function() {	



/**
 * Banners
 */
Banners = $$('.Banners');
if(Banners)
	Banners.each(function(el,i) {
	
	if(el.hasClass('Inactive'))
		return false;
	
	Banners[i].Timer = null;
	Banners[i].Interval = typeof(BannerTimer) != 'undefined'? BannerTimer:3000;
	Banners[i].NextPrevNav = typeof(BannerNextPrev) != 'undefined'? BannerNextPrev:false;
	Banners[i].i_self = i;
	Banners[i].i = 0;
	Banners[i].Imgs = el.getElements('.Banner');
	Banners[i].Running = false;
	Banners[i].Dist = el.getSize().x;
	Banners[i].H = el.getSize().y;
	Banners[i].SlideBox = el.getElement('.Banners-Content');
	Banners[i].Fx = null;
	Banners[i].Nav = Banners[i].getNext('.Banners-Nav');
	Banners[i].navNext = false;
	Banners[i].navBack = false;

	if(Banners[i].NextPrevNav)
		Banners[i].NextPrevNav = Banners[i].getNext('.Banners-NextPrev');

	if(Banners[i].Nav)
		Banners[i].Nav = Banners[i].Nav.getElements('a');

	if(Banners[i].Imgs)
	{
		Banners[i].Fx = new Fx.Tween(Banners[i].SlideBox,{ 
			wait: false,
			transition: Fx.Transitions.Cubic.easeOut,
			duration: 500
		});

		//create phantom additional first image (so auto scroll is always left to right)
		var PhantomBanner = Banners[i].Imgs[0].clone();
		PhantomBanner.inject(Banners[i].SlideBox);

		Banners[i].ChangeSlide = function(i) {
			this.i = (this.i + 1 >= this.Imgs.length)? 0:this.i + 1;
			var x = this.i * this.Dist;

			//phantom additional first
			if(this.i == 0)
				x = (this.Imgs.length * this.Dist);
			
			//reset phantom additional first (if set)
			if(this.SlideBox.getStyle('margin-left')+'' == '-'+(this.Imgs.length * this.Dist)+'px')
				this.SlideBox.style.marginLeft = 0;

			this.Fx.start('margin-left',(x == 0? x:'-'+x)+'px');
			Banners[this.i_self].SetNav();
			this.Timer = setTimeout('Banners['+this.i_self+'].ChangeSlide('+i+')',this.Interval);
		};

		Banners[i].GoToSlide = function(i) {
			if(this.i == i)
				return false;

			this.i = i;
			var x = this.i * this.Dist;

			//reset phantom additional first (if set)
			if(this.SlideBox.getStyle('margin-left')+'' == '-'+(this.Imgs.length * this.Dist)+'px')
				this.SlideBox.style.marginLeft = 0;

			this.Fx.start('margin-left',(x == 0? x:'-'+x)+'px');
			Banners[this.i_self].SetNav();
			this.Timer = setTimeout('Banners['+this.i_self+'].ChangeSlide('+i+')',(this.Interval*2));
		};

		Banners[i].Stop = function() {
			clearTimeout(Banners[this.i_self].Timer);
			this.Running = false;
		};

		Banners[i].SetNav = function() {
			if(this.Nav)
				for(var n = 0;n < this.Nav.length;n++)
				{
					if(n != this.i)
						this.Nav[n].removeClass('Active');
					else
						this.Nav[n].addClass('Active');
				}
			if(this.navNext)
				this.navNext.fade((this.i == this.Imgs.length - 1)? 'out':'in');
			if(this.navBack)
				this.navBack.fade((this.i == 0)? 'out':'in');
		};

		if(Banners[i].Imgs.length > 1)
		{
			Banners[i].SetNav();
			Banners[i].Timer = setTimeout('Banners['+i+'].ChangeSlide(1)',Banners[i].Interval);
		}

		if(Banners[i].Nav)
		{
			for(var Navi = 0;Navi < Banners[i].Nav.length;Navi++)
			{
				Banners[i].Nav[Navi].Bannersi = i;
				Banners[i].Nav[Navi].i = Navi;
				Banners[i].Nav[Navi].addEvent('click',function(){
					Banners[this.Bannersi].Stop();
					Banners[this.Bannersi].GoToSlide(this.i);
					return false;
				});
			}
		}

		if(Banners[i].NextPrevNav)
		{
			var posTop = '-' + ((Banners[i].H / 2) + 36) + 'px';
			Banners[i].navNext =  new Element('div',{'class':'nav-arrow next',styles: {top: posTop}}).injectInside(Banners[i].NextPrevNav);
			Banners[i].navNext.Bannersi = Banners[i].i_self;

			Banners[i].navBack =  new Element('div',{'class':'nav-arrow back',styles: {top: posTop}}).injectInside(Banners[i].NextPrevNav);
			Banners[i].navBack.Bannersi = Banners[i].i_self;

			Banners[i].navNext.addEvent('click',function(e){
				e.stop();
				var To = (Banners[this.Bannersi].i + 1 >= Banners[this.Bannersi].Imgs.length)? -1:Banners[this.Bannersi].i + 1;
				if(To != -1)
				{
					Banners[this.Bannersi].Stop();
					Banners[this.Bannersi].GoToSlide(To);
				}
			});
			
			Banners[i].navBack.addEvent('click',function(e){
				e.stop();
				var To = Banners[this.Bannersi].i - 1;
				if(To != -1)
				{
					Banners[this.Bannersi].Stop();
					Banners[this.Bannersi].GoToSlide(To);
				}
			});

			Banners[i].navNext.fade((Banners[i].i == Banners[i].Imgs.length - 1)? 'hide':'show');
			Banners[i].navBack.fade((Banners[i].i == 0)? 'hide':'show');
		}
	}

	});



/**
 * Open external links in content body in new windows
 */
var Links = $(document.body).getElements('p.External-Link a');
if(Links)
	for(var i=0; i < Links.length;i++)
	{
		if(Links[i].href && Links[i].href.indexOf(document.domain) == -1 && Links[i].href.indexOf('javascript:') == -1)
			Links[i].target = '_blank';
	}



//end window.addEvent()
});
