var Site = {

	init: function() {
	    Site.rollOvers();
		Site.setupNav();
		Site.setupNewsletter();
		Site.setupRecommend();
		Site.setupPromotionCode();
		Site.setupRotation();
		Site.setupAccreditations();
		Site.setupFAQ();
	},

	setupNav: function() {
		//IE6 Fix
                if(window.ie6) var heightValue='100%';
                else var heightValue='';

		// Main Nav
		var togglers   = $$('.maintoggle');
		var elements = $$('.mainelement');

		// Sub Nav
		var subTogglers   = $$('.subtoggle');
		var subElements = $$('.subelement');

		// var parentStart = ((document.getElement('.currentparent'))?subElements.indexOf(document.getElement('.currentparent')):0);
		var parentStart = elements.indexOf(document.getElement('.currentparent'));
		if (parentStart < 0) {
			parentStart = 0;
		}
		var subStart = subElements.indexOf(document.getElement('.currentnav'));
		
		new Accordion(togglers, elements, {
			show: parentStart,
			onActive: function(toggler, element) {
				toggler.addClass("open");
			},
			onBackground: function(toggler, element){
				toggler.removeClass("open");
			},
			onComplete: function() {
				var element=$(this.elements[this.previous]);
				if(element && element.offsetHeight>0) element.setStyle('height', heightValue);
			}
		});
	

		new Accordion(subTogglers, subElements, {
			show: subStart,
			onComplete: function() {
				var element=$(this.elements[this.previous]);
				if(element && element.offsetHeight>0) element.setStyle('height', heightValue);
			},
			onActive: function(toggler, element) {
				element.setStyle('margin-bottom', '2px');
			},
			onBackground: function(toggler, element){
				element.setStyle('margin-bottom', '0px');
			}
		});
	},

	setupNewsletter: function () {
		var newsletter = $$('.newsletter');
		if (newsletter) {
			elements = newsletter.getElements("input[type='text']");
			if (elements) {
				elements.each(function (el) {
					el.addEvents({
						blur: function (e) {
							e.stop();
							
							if (e.target.value == '') {
								e.target.value = e.target.title;
							}
						},
						focus: function (e) {
							e.stop()
							
							if (e.target.value == e.target.title) {
								e.target.value = '';
							}
						}
					});
				});
			}
		}
	},
	
	setupRecommend: function (){
		var recommend = $$('.recommend');
		if (recommend) {
			elements = recommend.getElements("input[type='text']");
			if (elements) {
				elements.each(function (el) {
					el.addEvents({
						blur: function (e) {
							e.stop();
							
							if (e.target.value == '') {
								e.target.value = e.target.title;
							}
						},
						focus: function (e) {
							e.stop()
							
							if (e.target.value == e.target.title) {
								e.target.value = '';
							}
						}
					});
				});
			}
		}
	},
	
	setupPromotionCode: function () {
		var promotioncode = $$('.promotionCode');
		if (promotioncode) {
			elements = promotioncode.getElements("input[type='text']");
			if (elements) {
				elements.each(function (el) {
					el.addEvents({
						blur: function (e) {
							e.stop();
							
							if (e.target.value == '') {
								e.target.value = e.target.title;
							}
						},
						focus: function (e) {
							e.stop()
							
							if (e.target.value == e.target.title) {
								e.target.value = '';
							}
						}
					});
				});
			}
		}
	},

	setupRotation: function () {
		var bannerContainer = $('banners');

		if (bannerContainer) {
			var scroller = new ContentScroller({slideDuration: 5000, fadeDuration: 1000 });
			scroller.addSlides(bannerContainer.getElements('img').setStyle('z-index', 1));
			scroller.start();
		}
	},
	
	rollOvers: function () {
		var preload = new Image();
		
		$$('.rollOver').each(function(el){
			if (el.src.test(/\.(gif|jpg|jpeg|png)$/i)) {
				
				// preload images
				preload.src = el.src.replace(/\.(gif|jpg|jpeg|png)/, '-over.$1');
				
				el.addEvents({
					mouseover: function() {
						this.src = this.src.replace(/\.(gif|jpg|jpeg|png)/, '-over.$1');
					},
					
					mouseout: function() {
						this.src = this.src.replace(/-over\.(gif|jpg|jpeg|png)/, '.$1');
					}
				});
			}
		});
	},

	setupAccreditations:  function() {
		var el = $('accreditations');
		var scroller = new ContentScroller();
		scroller.addSlides(el.getElements('img').setStyle('z-index', 1));
		scroller.start();
	},
	
	setupFAQ: function () {
		$$('.faq').each(function (el) {
			el.getNext('div').setStyle('display', 'none');
			el.addEvent('click', function() {
				$$('.faq').each(function (elem) {
					elem.getNext('div').setStyle('display', 'none');
				});
				this.getNext('div').setStyle('display', 'block');
			});
		});
	}
}

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