window.addEvent('domready',function(){
	formLinks();
	boxGrid();
	serviceIcon();
	randomCustomer();
	slideShow();
});

/* Add clear after every third box in article */

var isSub = $$('.sub');

var boxGrid = function(){
	var tabContent = $$('.tab_content');
	tabContent.each(function(tab){
		var boxes = tab.getElements('.article-index.front .box');
		var boxCount = boxes.length;
		boxes.each(function(box,index){
			if(index%3 == 2 || index == boxes.length-1) {
				boxes[index].setStyle('padding-right',0);
				if(isSub[0] && index%3 == 2 && index != boxCount-1) {
					new Element('div', {'class':'clear border'}).inject(boxes[index],'after');
				} else {
					new Element('div', {'class':'clear'}).inject(boxes[index],'after');
				}
			}
		});
	});
};

/* Add special styles to Service menu item */
var serviceIcon = function(){
	var navList = $$('.main_navigation > li');
	navList.getLast().addClass('service');
};

/* Randomize customer icons */
var randomCustomer = function(){
	var customerList = document.getElement('.customers');
	var customerIcons = document.getElements('.customers > li').shuffle();
	if(customerIcons){
		customerList.empty();
		customerIcons.each(function(icon){
			icon.inject(customerList);
		});
	}
};

/* Banner Slideshow */
var slideShow = function(){
	
	var dotWrap = $('dotwrap');
	var slides = $$('.slides .slide');
	var i = 0;
	var currentSlide = slides[i];
	var fadeOut;
	var fadeIn;
	var pageBanner = document.getElement('.page_banner');
	
	if (!currentSlide)
	return;
	
	slides.each(function(slide){
		slide.set({'opacity':0});
		if (Browser.ie8) {
			slide.getChildren().set({'opacity':0});
		}
		currentSlide.set({'opacity':1});
		if (Browser.ie8) {
			currentSlide.getChildren().set({'opacity':1});
		}
		var countDot = new Element('div', {
			'class':'dot'
		}).inject(dotWrap);
	});
	
	var dots = $$('.dot');
	var currentDot = dots[i];
	currentDot.addClass('selected');
	
	var hideOld = function(){
		fadeOut = new Fx.Morph(currentSlide,{});
		fadeOut.start({'opacity':0});
		if (Browser.ie8) {
			currentSlide.getChildren().morph({'opacity':0});
		}
		currentDot.removeClass('selected');
	};
	
	var showNew = function(){
		currentSlide = slides[i];
		currentDot = dots[i];
		
		fadeIn = new Fx.Morph(currentSlide,{});
		fadeIn.start({'opacity':1});
		if (Browser.ie8) {
			currentSlide.getChildren().morph({'opacity':1});
		}
		currentDot.addClass('selected');
	};
	
	var nextSlide = function(){
		hideOld();
		i++
		if (i === slides.length) {
			i = 0
		}
		showNew();
	};
	
	var previousSlide = function(){
		hideOld();
		i--
		if (i === -1) {
			i = slides.length-1
		}
		showNew();
	}
	
	var slideshow = function(){
		nextSlide();
	}.periodical(8000);
	
	dots.each(function(dot,index){
		dot.addEvent('click',function(){
			
			if ( index === i )
			return;
			
			clearTimeout(slideshow);
			
			hideOld();
			
			i = index;
			
			showNew();
			
		});
	});
	
	pageBanner.addEvent('swipe', function(event){
		if (event.direction == 'left') {
			clearTimeout(slideshow);
			nextSlide();
		} else if (event.direction == 'right') {
			clearTimeout(slideshow);
			previousSlide();
		}
	});
	
	document.addEvent('keydown',function(event){
		console.log(event.key);
		if (event.key === 'right') {
			clearTimeout(slideshow);
			nextSlide();
		} else if (event.key === 'left') {
			clearTimeout(slideshow);
			previousSlide();
		}
	});
	
};

/* Create form links */
var formLinks = function(){
	var checkBoxLabels = $$('.form.chk label');
	if (!checkBoxLabels[0])
	return;
	checkBoxLabels.each(function(label){
		var labelText = label.get('text');
		if (labelText.contains('|[')) {
			var textStart = labelText.indexOf('|');
			var textStop = labelText.lastIndexOf('|');
			var linkStart = labelText.indexOf('[')
			var linkStop = labelText.lastIndexOf(']')
			var newLinkText = labelText.substring(textStart+1,textStop);
			var newLinkDestination = labelText.substring(linkStart+1,linkStop);
			var newLink = '<a href="' + newLinkDestination + '">' + newLinkText + '</a>';
			var newLabel = labelText.substring(0,textStart) + newLink + labelText.substring(linkStop+1,labelText.length);
			label.set('html',newLabel);
		}
	});
};











