//Hover function ie

var siteBaseUrl = '/';
function setBaseUrl(baseUrl){ siteBaseUrl = baseUrl;}

var onloadEvents = new Array();

if (document.all && window.attachEvent){
	addToOnload('attachButtonHover()');	
}

var attachButtonHover = function(){
	var list = document.getElementsByTagName('button');
	for (var i=0; i<list.length; i++) {
		list[i].onmouseover=function() {
			this.className+=" buttonHover";
		}
		list[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" buttonHover\\b"), "");
		}
	}
}

function addToOnload(event){
	onloadEvents.push(event);
	window.onload = function() { 
		for (var x = 0; x < onloadEvents.length; x ++) {
			eval(onloadEvents[x]);
		}
	}
}

function disableField(element){ document.getElementById(element).style.display = 'none';}

sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}

var clearOnClick = function(id) {
	var form = document.getElementById(id);	
	
	if (form)
	{
		var formElems = form.elements;
		
		for (var i = 0; i < formElems.length; i++)
		{
			if (formElems[i].type == 'text')
			{
				formElems[i].oldValue = formElems[i].value;
				
				formElems[i].onfocus = function () { 
					if (this.value == this.oldValue) {
						this.value = ''; 
					}
				} 
				
				formElems[i].onblur = function () {
					if (this.value == '') {
						this.value = this.oldValue;
					}
				}
				
			}
		}
		
		form.onsubmit = function(){
			if (form.getElement('input').value == 'search...') {
				return false;
			}
		}
	}
}

var Impact = {
	teamHover : function(){
		
		if (document.all && !window.opera) {
		
			$$('#team-list a').each(function(e){
				
				if (e.className != 'active')
					e.setStyle('opacity','.6');
				
				e.addEvent('mouseover', function(){
					this.setStyle('opacity',1);
				});
				e.addEvent('mouseout', function(){
					this.setStyle('opacity','.6');
				});		
			});
		}
	}
}

addToOnload('clearOnClick("index-service-booking")');	

NavigationSlide = {
	showing : true,
	
	init: function (listId) {
		var list = $(listId);
		NavigationSlide.accordion = new Accordion(list.getElements('li'), list.getElements('span'), {
			opacity: false,
			duration: 200,
			display: -1
		});

		list.getElements('li').each(function (elem) {
			elem.getElement('span').setStyle('display', 'block');
			
			try {
				elem.addEvents({
					'mouseenter': function () {
						if (elem.getElement('span').innerHTML != '') {
							elem.fireEvent('click');
						}
					},
					'mouseleave': function () {
						if (elem.getElement('span').innerHTML != '') {
							elem.fireEvent('click');
						}
					}
				});
			} catch (exception) {
//
			}
		});
//		
		// Adds quote section to accordion list 
		var quoteToggler = new Element('div', {
			'id': 'quote-toggler'+listId,
			'styles': {
				'position': 'absolute',
				'top': '-9000em',
				'left': '-9000em'
			}
		});
		
		
		NavigationSlide.accordion.addSection(quoteToggler, $('home-quote'), 0);
		
		NavigationSlide.accordion.addEvent(
			'onActive', function (toggler) {
				var slideElem = toggler.getNext();
				if (slideElem) {
					if (slideElem.getTag() == 'blockquote') {
						slideElem.injectTop('body-nav-container');
					}
				}
			}
		);
		
		// To make sure quote is displayed at start and when escaping list hover state
		$('quote-toggler'+listId).fireEvent('click');
		list.addEvents({
			'mouseleave': function () {
				$('quote-toggler'+listId).fireEvent('click')
			}
		});
	}
	
}
function getRandomInt(min, max, current)
{
	var randomNum = Math.floor(Math.random() * (max - min + 1)) + min;
	
	if (randomNum == current) return getRandomInt(min, max, current);
	return randomNum;
}

var HeaderEffects = {
	randNum : 0,
	images	:[],
	imageList : [],
	currentImage : 0,
	total : 1,
	
	init : function (cur, total, images){
		
		var carTeaser = $('home-hero-image');
		if (!carTeaser) return;
		HeaderEffects.imageList = images;
		HeaderEffects.currentImage = cur;
		HeaderEffects.total = total;
		HeaderEffects.randNum = cur;
		
		//preload other image
		var image = new Image();
		image.src = HeaderEffects.imageList[cur];
		HeaderEffects.images[cur] = image;
		
		setTimeout(HeaderEffects.next , 2000);
	},
	next : function () {
		
		HeaderEffects.currentImage = HeaderEffects.randNum;
		HeaderEffects.randNum = getRandomInt(0, HeaderEffects.total, HeaderEffects.currentImage);
		
		if (!HeaderEffects.images[HeaderEffects.randNum]) {
			var image = new Image();
			image.src = HeaderEffects.imageList[HeaderEffects.randNum];		
			image.onload = function() {
				HeaderEffects.fadeOut();
			}
			HeaderEffects.images[HeaderEffects.randNum] = image;
		} else {
			HeaderEffects.fadeOut();
		}
	},
	fadeIn : function (){
		$('home-hero-image').src = HeaderEffects.images[HeaderEffects.randNum].src;
		$('home-hero-image').effect('opacity',{duration: 1000}).start(0,1);
		setTimeout(HeaderEffects.next , 10000);
	},
	fadeOut : function (){
		$('home-hero-image').effect('opacity',{duration: 500, onComplete:HeaderEffects.fadeIn}).start(1,0);
	}
}



var CaseStudies = {
	
	init : function () {
		CaseStudies.listImages();
	},
	 
	listImages: function () {
		if (document.all && !window.opera){	
			$$('#short-list a').each(function (elem) {
				var image = elem.getElement('img');
				if (image && !elem.getParent().hasClass('active')) {
					image.style.filter = 'alpha(opacity=60)';

					elem.addEvents({
						'mouseenter': function () {
							elem.getElement('img').style.filter = 'alpha(opacity=100)';
						},
						'mouseleave': function () {
							elem.getElement('img').style.filter = 'alpha(opacity=60)';
						}
					});
				}
			});
		}
	 }
	 
}

var SelectChangeSubmit = {
	
	init : function (selectId, formId) {
		$(selectId).addEvent('change', function () {
			$(formId).submit();
		});
	}
	
}	