window.addEvent('domready', function(){

	// RESIZING BACKGROUND IMAGE TO FILL BROWSER WINDOW
	
	function resize() {
	
		if (window.innerHeight) { // Firefox
			var docheight = window.innerHeight;
			var docwidth = window.innerWidth;
		} else if (document.all) { // IE
			var docheight = document.body.clientHeight;
			var docwidth = document.body.clientWidth;
		};
				
		var docratio = docwidth/docheight;
		var minw = 980; //Actual (minimum) image proportions
		var minh = 780;
		var ratio = minw/minh;
		
		//Propose scaling to full width
		propw = docwidth;
		proph = docwidth / ratio;
		
		//If scaling to full width causes height cut...
		if (proph < docheight)
		{
			//Propose scaling to full height instead
			propw = docheight * ratio;
			proph = docheight;
		}
		
		//If proposed width is smaller than minimum
		if (propw < minw || proph < minh)
		{
			propw = minw;
			proph = minh;
			
			//But make sure width and height aren't cropped
			if (propw < docwidth)
			{
				//Propose scaling to full width
				propw = docwidth;
				proph = docwidth / ratio;
			}
			if (proph < docheight)
			{
				//Propose scaling to full height instead
				propw = docheight * ratio;
				proph = docheight;
			}
		}
		$('background').setStyle('width', propw);
		$('background').setStyle('height', proph);
	}
	
	window.onresize = resize;
	resize();
	
	
	
	// MAIN MENU EFFECTS
	
	var mainmenu = $('mainmenu').getElements('div');
	var submenu = $('submenu').getElements('div');
	
	for (i=0; i<mainmenu.length; i++) {
		mainmenu[i].i = i;
		
		submenu[i].setStyle('display','block');
		submenu[i].set('tween', {duration: 200});

		if (submenu[i].className == 'selected') {
			var current = submenu[i];
		} else {
			submenu[i].fade('hide');
		}
						
		mainmenu[i].addEvent("mouseenter", function(event) {
			for (j=0; j<mainmenu.length; j++) {
				if (j == this.i) {
					submenu[j].fade('in');
					//submenu[j].fade('show');
					//submenu[j].tween('opacity', 1);
					if (mainmenu[j].className == 'selected') {
						mainmenu[j].className = 'selected hilite';
					} else {
						mainmenu[j].className = 'hilite';
					}
				} else {
					submenu[j].fade('out');
					//submenu[j].fade('hide');
					//submenu[j].tween('opacity', 0);
					if (mainmenu[j].className == 'selected hilite' || mainmenu[j].className == 'selected') {
						mainmenu[j].className = 'selected';
					} else {
						mainmenu[j].className = '';
					}
				}
			}
		});
		
		submenu[i].addEvent("mouseleave", function(event) {
			var subcount = 0;
			for (j=0; j<mainmenu.length; j++) {
				if (submenu[j].className != 'selected' && submenu[j].className != 'selected hilite') {
					subcount++;
					if (subcount == mainmenu.length-1) {
						//submenu[j].fade('out').get('tween').chain(function() { 
						//	if (current) current.fade('in');
						//});
						//submenu[j].fade('hide');
						//current.fade('show');
						//submenu[j].tween('opacity', 0).    ....
						submenu[j].fade('out').get('tween').chain(function() {
							if (current) current.fade('in');//current.tween('opacity', 1);
						});
					} else {
						submenu[j].fade('out');
						//submenu[j].fade('hide');
						//submenu[j].tween('opacity', 0);
					}
				}
				if (mainmenu[j].className == 'selected hilite' || mainmenu[j].className == 'selected') {
					mainmenu[j].className = 'selected';
				} else {
					mainmenu[j].className = '';
				}
			}
		});
		
		$('menubuffer').addEvent("mouseenter", function(event) {
			var buffercount = 0;
			for (j=0; j<mainmenu.length; j++) {
				if (submenu[j].className != 'selected' && submenu[j].className != 'selected hilite') {
					buffercount++;
					if (buffercount == mainmenu.length-1) {
						//submenu[j].fade('out').get('tween').chain(function() { 
						//	if (current) current.fade('in');
						//});
						//submenu[j].fade('hide');
						//current.fade('show');
						//submenu[j].tween('opacity', 0)
						submenu[j].fade('out').get('tween').chain(function() {
							if (current) current.fade('in');//current.tween('opacity', 1);
						});
					} else {
						submenu[j].fade('out');
						//submenu[j].fade('hide');
						//submenu[j].tween('opacity', 0);
					}
				}
				if (mainmenu[j].className == 'selected hilite' || mainmenu[j].className == 'selected') {
					mainmenu[j].className = 'selected';
				} else {
					mainmenu[j].className = '';
				}
			}
		});
	}
	
	
	
	// SCROLLING TO TOP

	var toplinks = $$('a.toplink');
	var windowScroll = new Fx.Scroll('container', {transition: Fx.Transitions.Quad.easeInOut});
	
	toplinks.each(function(link) {
		link.addEvent("click", function(event) {
			event.stop();
			windowScroll.toTop();
		});
	});
	
	
	// SET FOCUS FOR SCROLLING (IE)
	
	document.getElementById("container").focus();

});