	var mover = null;
	var topLevelPos = [];
	var container = $('top-level');
	
	var navigation;
	var submenus;

	var currentPanel;
	var slider;
	var viewedPanels = [];

	function GetPanelID(button){
		
		var does = null;
		viewedPanels.each(function(panel, key){
			if(button.href.contains(panel.href)) 
			{
				does = key;
			}		
		});
		return does;
	}
	
	function JumpToHome(argument) {
		navigation.removeClass('active');
		navigation[0].addClass('active');
		
		if(currentPanel) {
			currentPanel.hide();
			currentPanel = null;
			$('panel-images').fade('hide');
			$('panel-images').getElements('div').fade('out');			
		}

		if(slider) {
			slider.set(0);
			slider.fader(1, 0);
		}
	}
	
	function ReturnToTopLevel(link) {
		if(currentPanel) {
			currentPanel.hide();
			currentPanel = null;
			$('panel-images').fade('hide');
			$('panel-images').getElements('div').fade('out');
		}
		if(!slider.open) {
			slider.setter(slider.getkey())
			slider.fader(1);
			slider.open = true;
		}
	}
	
	function GetBaseURl() {
		// Get document base path
		documentBasePath = document.location.href;
		if (documentBasePath.indexOf('?') != -1)
		{
			documentBasePath = documentBasePath.substring(0, documentBasePath.indexOf('?'));
		}			
		documentBasePath = documentBasePath.substring(0, documentBasePath.lastIndexOf('/'));
		return documentBasePath;
	}
	function ShowBackgroundImages(slide, holder) {
		holder.setStyle('background-image', slide.getStyle('background-image')).fade('hide').fade('in');
		slide.setStyle('background-image', 'none');
	};
	function CreateNewPanel (link) {
		viewedPanels.push(
			new PanelViewer(link, { 
				holder: 'panel-collector',
				panelClassName: 'panel-holder',
				onLoad: function() {
					// console.debug('onLoad');
				},
				onShow: function() {
					// console.debug('onShow');
					
					$$('#panel-images div').fade('out');
					$('panel-images').fade('show');
					
					if(!this.backgroundimage) {
						if(this.panel.getFirst()) {
							this.backgroundimage = new Element('div').inject($('panel-images'));
							ShowBackgroundImages(this.panel.getFirst(), this.backgroundimage);							
						}

					} else {
						this.backgroundimage.fade('in');
					}
					submenus.removeClass('active');

					if(currentPanel != null && currentPanel != this) {
						currentPanel.hide();
						currentPanel = null;
					}

					currentPanel = this;
				},
				onChange: function() {
					// console.debug('onChange');
					
					navigation.removeClass('active');
					navigation[this.getParent()].addClass('active');
					
					if(player != null) {
						player.sendEvent("PLAY","false");
						player = null;
					}
					slider.slide(this.getParent());
					slider.fader(0);
					slider.open = false;					
				}
		}));
	}
	var player = null;
	
	function loadVideo(image, flv, id)
	{
		var width = 324;
		var height = 256;

		var s1 = new SWFObject("themes/adt/swf/player.swf",'holder-' + id, width, height,"8","#000000");
		s1.addParam("allowfullscreen","true");
		s1.addParam("allowscriptaccess","always");
		s1.addParam("flashvars","file="+flv+"&skin=themes/adt/swf/schoon.swf&image="+image+"&shownavigation=false");
		s1.write(id);
		player = document.getElementById('holder-' + id);
	}

//once the DOM is ready
	window.addEvent('domready', function() {

		if(container) 
		{
			slider = new ContentSlider(container, ['.home-page', '.toplevel-page'], { duration: 2000 });

			navigation = $$('ul#main li.menu a.top-level');

			navigation.each(function(link, i){
				link.addEvents({
					'click': function(e){
							if(e) e.stop();
							navigation.removeClass('active');

							if(slider.open) {
								slider.slide(i);
							} else {
								if(currentPanel) {
									if(player != null) {
										player.sendEvent("PLAY","false");
										player = null;
									}
									currentPanel.hide();
									currentPanel = null;
									$('panel-images').fade('hide');
									$('panel-images').getElements('div').fade('out');
								}
								slider.setter(i);
								slider.fader(1, slider.getkey());
								slider.open = true;
							}

							link.addClass('active');

						}
				});
			});

			submenus = $$('ul.sub-menu li a');

			submenus.each(function(link){
				switch(link.rev) 
				{
					case 	"PromoPage"	: link.target = "_blank"; break;
					default				: CreateNewPanel(link);
				}
			});

			var scrollers = $$('.content-scroller');
			
			scrollers.each(function(scroller, i){

				var scrollStepper = scroller.getElement('div.content');
				var maxStep = scrollStepper.getHeight() - scroller.getHeight();
				if(!(maxStep < 0)) 
				{
					var slider 	= new Element('div').addClass('scroller').inject(scroller, 'before');
					var knob 	= new Element('div').addClass('knob').inject(slider);

					new Slider(slider, knob, {
						range: [0, maxStep],
						snap: true,
						offset: 4,
						wheel: true,
						mode: 'vertical',
						onChange: function(step){
							scrollStepper.setStyle('margin-top', step*-1);
					    }
					});
				}
			});
		}

		new WindowResizer('holder', { 
				onUpdate: function() {
					if(slider) {
						slider.update();
						slider.slide(slider.currentIndex);
					}
				}
			});		
		
		
		if ($('main')) 
		{
			$$('ul#main li.menu').each(function(link, i){
				var subList = link.getElement('ul.sub-menu');
				if(subList)
				{
					subList.fade('hide').setStyle('top', (subList.getHeight()*-1)-1);
					
					link.addEvents({
						'mouseenter': function() {
								subList.fade('in');
							},
						'mouseleave'	: function() {
								subList.fade('out');
							}
					});
					
				}
			});			
		};
		
		var extraButtons = $$('ul.sub-page-menu li a');
		extraButtons.each(function(link){
			switch(link.rev) 
			{
				case 	"PromoPage"	: link.target = "_blank"; break;
				default	: 
					link.addEvent('click',function(e){
						if(e) e.stop();
						if(GetPanelID(this) != null) 
						{
							viewedPanels[GetPanelID(this)].change();
						} 
						else 
						{
							CreateNewPanel(this);				
							viewedPanels[GetPanelID(this)].change();
						}
					});
			}
		});
		
		var FooterLinks = $$('ul.footer-extras li.internal a', 'div.footer-nav a', 'a.latest-news');

		FooterLinks.each(function(link){
			if(link.href.contains(GetBaseURl()))
			{
				link.addEvent('click', function(e){
					if(e) e.stop();
					if(!!GetPanelID(this)) {
						viewedPanels[GetPanelID(this)].change();
					} 
					else 
					{
						CreateNewPanel(link);				
						viewedPanels[GetPanelID(this)].change();
					}
				});
			} 
			else 
			{
				link.target = '_blank';
				link.title = link.title + ' (Will be opened in a extra window) ';
			}
		});
		
		//need to hide the images panel on start up as no to intefer with the top-level sub nav and scroll bars.
		$('panel-images').fade('hide');
		
		
		
		
		
		
	});