// restructured version as this one was getting a little unmanagable
// seems to be working ok

// messy issues:
//	+ going to about/contact (sub nav less pages) from subsection doesn't scroll smoothly - fixed
//	- still like the subnav to come out after the scrolly top stuff but it will do for now

// Routines we need:-
	// init
	// fade home content out
	// fade home content in
	// open subnav
	// close subnav
	// open top nav(item)
	// close top nav
	// switch sub nav (old, new)
	// switch top nav (old,new)
// plus a better way of handling the whole chaining stuff so we can be more in control and predictable

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

	var menu = 0; // default to home
	var menu_sublines = 0; // defaults to hidden
	var menu_subnav = 0; // defaults to hidden
	var menu_subsection = 0;

	var new_subnav_menu = 0;

	// bring in main homepage content
	introfade();

	var myChain = new Chain();
	myChain.chain(
// 		function(){ scroll_topnav_reset.start(0,0); },
// 		function(){ scroll_topnav.start(0,8); }
	);

 	var mySlideyTransition = new Fx.Transition(Fx.Transitions.Quad.easeInOut, 1000);
	var subnav_height = new Fx.Style('py_nav_sub', 'height', {transition: mySlideyTransition.easeOut});

	//mousescrolling at left and right edges of browser
// 	var scroll = new Scroller('py_display', {area: 50, velocity: 1});
// 	
// 	$('py_display').addEvent('mouseenter', scroll.start.bind(scroll));
// 	$('py_display').addEvent('mouseleave', scroll.stop.bind(scroll));

	function display_subnav_content(item,old_item)
	{

//		alert('item: ' + item + ', old: ' + old_item);

// 		$('py_nav_sub_01_themed').setStyle('display', 'none');
// 		$('py_nav_sub_02_dance').setStyle('display', 'none');
// 		$('py_nav_sub_03_shot').setStyle('display', 'none');
// 		$('py_nav_sub_04_staff').setStyle('display', 'none');
// 		$('py_nav_sub_05_dj').setStyle('display', 'none');
// 		$('py_nav_sub_06_kids').setStyle('display', 'none');

		if (old_item == 1) { var fadeout_subnav = new Fx.Style('py_nav_sub_01_themed', 'opacity', {duration:1000}); }
		if (old_item == 2) { var fadeout_subnav = new Fx.Style('py_nav_sub_02_dance', 'opacity', {duration:1000}); }
		if (old_item == 3) { var fadeout_subnav = new Fx.Style('py_nav_sub_03_shot', 'opacity', {duration:1000}); }
		if (old_item == 4) { var fadeout_subnav = new Fx.Style('py_nav_sub_04_staff', 'opacity', {duration:1000}); }
		if (old_item == 5) { var fadeout_subnav = new Fx.Style('py_nav_sub_05_dj', 'opacity', {duration:1000}); }
		if (old_item == 6) { var fadeout_subnav = new Fx.Style('py_nav_sub_06_kids', 'opacity', {duration:1000}); }

		// show the correct subnav div
		switch (item)
		{
			case 1:  var fadein_subnav = new Fx.Style('py_nav_sub_01_themed', 'opacity', {duration:1000}); 	$('py_nav_sub_01_themed').setOpacity(0); $('py_nav_sub_01_themed').setStyle('display', 'block'); break;
			case 2:  var fadein_subnav = new Fx.Style('py_nav_sub_02_dance', 'opacity', {duration:1000}); 	$('py_nav_sub_02_dance').setOpacity(0); $('py_nav_sub_02_dance').setStyle('display', 'block');  break;
			case 3:  var fadein_subnav = new Fx.Style('py_nav_sub_03_shot', 'opacity', {duration:1000}); 	$('py_nav_sub_03_shot').setOpacity(0); $('py_nav_sub_03_shot').setStyle('display', 'block');  break;
			case 4:  var fadein_subnav = new Fx.Style('py_nav_sub_04_staff', 'opacity', {duration:1000}); 	$('py_nav_sub_04_staff').setOpacity(0); $('py_nav_sub_04_staff').setStyle('display', 'block');  break;
			case 5:  var fadein_subnav = new Fx.Style('py_nav_sub_05_dj', 'opacity', {duration:1000}); 		$('py_nav_sub_05_dj').setOpacity(0); $('py_nav_sub_05_dj').setStyle('display', 'block');  break;
			case 6:  var fadein_subnav = new Fx.Style('py_nav_sub_06_kids', 'opacity', {duration:1000}); 	$('py_nav_sub_06_kids').setOpacity(0); $('py_nav_sub_06_kids').setStyle('display', 'block');  break;
//			default: $('py_nav_sub_01_themed').setStyle('display', 'block'); break;
		}

		fadeout_subnav.start(1,0);
 		fadein_subnav.start(0,1).chain(function(){
			$('py_nav_sub').setStyle('background', 'url(/gfx/py_nav_line.png) no-repeat');

			if (item != 1) { $('py_nav_sub_01_themed').setStyle('display', 'none');}
			if (item != 2) { $('py_nav_sub_02_dance').setStyle('display', 'none');}
			if (item != 3) { $('py_nav_sub_03_shot').setStyle('display', 'none');}
			if (item != 4) { $('py_nav_sub_04_staff').setStyle('display', 'none');}
			if (item != 5) { $('py_nav_sub_05_dj').setStyle('display', 'none');}
			if (item != 6) { $('py_nav_sub_06_kids').setStyle('display', 'none');}

// 			$(get_menu(9)).setOpacity(0);
// 			$(get_menu(9)).setStyle('display', 'block');
// 			$(get_menu(0)).setOpacity(0);
// 			$(get_menu(0)).setStyle('display', 'block');
// 			fadein_intro.start(0,1);
// 			fadein.start(0,1);
 		});


	}

	function open_subnav(item)
	{

		if (menu_subnav == 0)
		{

			// Ok, I think it's around here where the non subnav displaying bug is,
			// although it's tricky to recreate to check.
			// Positioned this before the slide starts, rather than after, to see if it's makes a diff

			switch (item)
			{
				case 1: $('py_nav_sub').setStyle('background', 'url(/gfx/sub_01.png) repeat-y 0 0'); break;
				case 2: $('py_nav_sub').setStyle('background', 'url(/gfx/sub_02.png) repeat-y 0 0'); break;
				case 3: $('py_nav_sub').setStyle('background', 'url(/gfx/sub_03.png) repeat-y 0 0'); break;
				case 4: $('py_nav_sub').setStyle('background', 'url(/gfx/sub_04.png) repeat-y 0 0'); break;
				case 5: $('py_nav_sub').setStyle('background', 'url(/gfx/sub_05.png) repeat-y 0 0'); break;
				case 6: $('py_nav_sub').setStyle('background', 'url(/gfx/sub_06.png) repeat-y 0 0'); break;
				default: $('py_nav_sub').setStyle('background', 'url(/gfx/py_nav.png) repeat-y 0 0'); break;
			}

			subnav_height.start(37,100).chain(function() {display_subnav_content(item,menu_subsection)});

			menu_subnav = 1;

			// only need to change the main sub bg when opening a nav for the first time (looks better on slideout)
//			$('py_nav_sub').setStyle('background', 'url(/gfx/py_nav_line.png) no-repeat');
			// annoying about the loss of the separater line while opening but we can fix that later

		} else
		{
			// subnav is already open, just switch content
			display_subnav_content(item,menu_subsection);
		}

		menu_subsection = item;

		// first, hide all elements, then reveal the one we want before scrolling up
// 		$('py_nav_sub_01_themed').setStyle('display', 'none');
// 		$('py_nav_sub_02_dance').setStyle('display', 'none');
// 		$('py_nav_sub_03_shot').setStyle('display', 'none');
// 		$('py_nav_sub_04_staff').setStyle('display', 'none');
// 		$('py_nav_sub_05_dj').setStyle('display', 'none');
// 		$('py_nav_sub_06_kids').setStyle('display', 'none');

	}
	function close_subnav()
	{

		if (menu_subnav == 1)
		{

			switch (menu_subsection)
			{
				case 1: $('py_nav_sub').setStyle('background', 'url(/gfx/sub_01.png) repeat-y 0 0'); break;
				case 2: $('py_nav_sub').setStyle('background', 'url(/gfx/sub_02.png) repeat-y 0 0'); break;
				case 3: $('py_nav_sub').setStyle('background', 'url(/gfx/sub_03.png) repeat-y 0 0'); break;
				case 4: $('py_nav_sub').setStyle('background', 'url(/gfx/sub_04.png) repeat-y 0 0'); break;
				case 5: $('py_nav_sub').setStyle('background', 'url(/gfx/sub_05.png) repeat-y 0 0'); break;
				case 6: $('py_nav_sub').setStyle('background', 'url(/gfx/sub_06.png) repeat-y 0 0'); break;
				default: $('py_nav_sub').setStyle('background', 'url(/gfx/py_nav.png) no-repeat'); break;
			}

				$('py_nav_sub_01_themed').setStyle('display', 'none');
				$('py_nav_sub_02_dance').setStyle('display', 'none');
				$('py_nav_sub_03_shot').setStyle('display', 'none');
				$('py_nav_sub_04_staff').setStyle('display', 'none');
				$('py_nav_sub_05_dj').setStyle('display', 'none');
				$('py_nav_sub_06_kids').setStyle('display', 'none');

			subnav_height.start(100,37).chain(function() {			
				$('py_nav_sub').setStyle('background', 'url(/gfx/py_nav.png) no-repeat');			
			});

			menu_subsection = 0;
			menu_subnav = 0;

		} else
		{
		}


		myChain.callChain();
		
	}

	var scroll_topnav = new Fx.Scroll('py_nav_tab', {
		wait: false,
		duration: 800,
		offset: {'x': 0, 'y': 0},
		transition: Fx.Transitions.Quad.easeInOut,
		onComplete: function() { menu_sublines = 1; myChain.callChain(); myChain.clearChain(); }
	});
	var scroll_topnav_reset = new Fx.Scroll('py_nav_tab', {
		wait: false,
		duration: 200,
		offset: {'x': 0, 'y': 0},
		transition: Fx.Transitions.Quad.easeInOut,
		onComplete: function() { menu_sublines = 0; myChain.callChain(); }
	});

	//clickscrolling to jump to and fro between projects
	var scroll2 = new Fx.Scroll('py_display', {
		wait: false,
		duration: 2000,
		offset: {'x': 0, 'y': 0},
		transition: Fx.Transitions.Quad.easeInOut
	});

	$$('.nav_home').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();

			if (menu != 0) {fadecontent(menu,0); };
			menu = 0;
 
// 			myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() {reset_nav(1);}, function() { close_subnav(); } );
 			myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() { close_subnav(); } );
// 			myChain.chain(function(){ scroll_topnav_reset.start(0,0); } );
 			myChain.callChain();
 
 			scroll2.toElement('displaycontent1');
		});
	});
	$$('.nav_about').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();

			if (menu != 1) {fadecontent(menu,1); };
			menu = 1;

			myChain.clearChain();
// 			myChain.chain(function(){ scroll_topnav_reset.start(0,0); } );
 			myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() { close_subnav(); } );
// 			myChain.chain(function(){ close_subnav(); } );
 			myChain.callChain();

			scroll2.toElement('displaycontent1');
		});
	});
	$$('.nav_contact').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();

			if (menu != 2) {fadecontent(menu,2); };
			menu = 2;

// 			myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() {reset_nav(1);});
 			myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() { close_subnav(); } );
// 			myChain.chain(function(){ scroll_topnav_reset.start(0,0); } );
 			myChain.callChain();

			scroll2.toElement('displaycontent1');
		});
	});
	$$('.nav_companies').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();

			if (menu != 11 && menu == 1) 
			{
				fadecontent(menu,11); 
				menu = 11;
			} else if (menu == 11 && menu != 1) {
				fadecontent(menu,1); 
				menu = 1;				
			};
			// scroll2.toElement('displaycontent1');
		});
	});

	$$('.one').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
			
			if (menu != 3) {fadecontent(menu,3); } else { pick_image(2,menu_images[0]); };

			if (menu != 3)
			{

				menu = 3;
				new_subnav_menu = 0;
	
				myChain.clearChain();
				myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() {reset_nav(1);}, function(){ scroll_topnav.start(0,8); }, function(){open_subnav(1);} );
				myChain.callChain();
				scroll2.toElement('displaycontent2');

			}

		});
	});  
	$$('.two').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();

			if (menu != 4) {fadecontent(menu,4); } else { pick_image(3,menu_images[1]); };

			if (menu != 4)
			{
				menu = 4;
				new_subnav_menu = 18;
	
				myChain.clearChain();
				myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() {reset_nav(2);}, function(){ scroll_topnav.start(0,8); }, function(){open_subnav(2);});
				myChain.callChain();
				scroll2.toElement('displaycontent3');
			}

		});
	});
	$$('.three').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();

			if (menu != 5) {fadecontent(menu,5); } else { pick_image(4,menu_images[2]); };

			if (menu != 5)
			{
				menu = 5;
				new_subnav_menu = 26;
				
				myChain.clearChain();
				myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() {reset_nav(3);}, function(){ scroll_topnav.start(0,8); }, function(){open_subnav(3);});
				myChain.callChain();
				scroll2.toElement('displaycontent4');
			}

		});
	});
	$$('.four').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();

			if (menu != 6) {fadecontent(menu,6); } else { pick_image(5,menu_images[3]); };

			if (menu != 6)
			{
				menu = 6;
				new_subnav_menu = 30;
	
				myChain.clearChain();
				myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() {reset_nav(4);}, function(){ scroll_topnav.start(0,8); }, function(){open_subnav(4);});
				myChain.callChain();
				scroll2.toElement('displaycontent5');
			}

		});
	});
	$$('.five').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();

			if (menu != 7) {fadecontent(menu,7); } else { pick_image(6,menu_images[4]); };

			if (menu != 7)
			{
				menu = 7;
				new_subnav_menu = 35;
	
				myChain.clearChain();
				myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() {reset_nav(5);}, function(){ scroll_topnav.start(0,8); }, function(){open_subnav(5);});
				myChain.callChain();
				scroll2.toElement('displaycontent6');
			}

		});
	});
	$$('.six').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();

			if (menu != 8) { fadecontent(menu,8); } else { pick_image(7,menu_images[5]); };

			if (menu != 8)
			{
				menu = 8;
				new_subnav_menu = 39;
	
				myChain.clearChain();
				myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() {reset_nav(6);}, function(){ scroll_topnav.start(0,8); }, function(){open_subnav(6);});
				myChain.callChain();
				scroll2.toElement('displaycontent7');
			}

		});
	});

	// if passed parameters, setup particular page
	switch_page();

// -------------------------------------------------------------------------------------------------------------
// -------------------------------------------- SUBNAV links ---------------------------------------------------
// -------------------------------------------------------------------------------------------------------------

	$$('.nav_sub_theme').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 0) {fade_subnav_content(new_subnav_menu,0); }
				new_subnav_menu = 0;
		});
	}); 

	$$('.nav_sub_theme_moulinrouge').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 1) {fade_subnav_content(new_subnav_menu,1); }
				new_subnav_menu = 1;
		});
	}); 
	$$('.nav_sub_theme_coyote').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 2) {fade_subnav_content(new_subnav_menu,2); }
				new_subnav_menu = 2;
		});
	}); 
	$$('.nav_sub_theme_pole').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 3) {fade_subnav_content(new_subnav_menu,3); }
				new_subnav_menu = 3;
		});
	}); 
	$$('.nav_sub_theme_feedingthefish').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 4) {fade_subnav_content(new_subnav_menu,4); }
				new_subnav_menu = 4;
		});
	}); 
	$$('.nav_sub_theme_fireact').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 5) {fade_subnav_content(new_subnav_menu,5); }
				new_subnav_menu = 5;
		});
	}); 
	$$('.nav_sub_theme_stilts').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 6) {fade_subnav_content(new_subnav_menu,6); }
				new_subnav_menu = 6;
		});
	}); 
	$$('.nav_sub_theme_ballroom').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 7) {fade_subnav_content(new_subnav_menu,7); }
				new_subnav_menu = 7;
		});
	}); 
	$$('.nav_sub_theme_illusionist').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 8) {fade_subnav_content(new_subnav_menu,8); }
				new_subnav_menu = 8;
		});
	}); 
	$$('.nav_sub_theme_bubbleman').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 9) {fade_subnav_content(new_subnav_menu,9); }
				new_subnav_menu = 9;
		});
	}); 
	$$('.nav_sub_theme_casinoroyale').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 10) {fade_subnav_content(new_subnav_menu,10); }
				new_subnav_menu = 10;
		});
	}); 
	$$('.nav_sub_theme_swords').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 11) {fade_subnav_content(new_subnav_menu,11); }
				new_subnav_menu = 11;
		});
	}); 
	$$('.nav_sub_theme_baywatch').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 12) {fade_subnav_content(new_subnav_menu,12); }
				new_subnav_menu = 12;
		});
	}); 
	$$('.nav_sub_theme_westend').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 13) {fade_subnav_content(new_subnav_menu,13); }
				new_subnav_menu = 13;
		});
	}); 
	$$('.nav_sub_theme_voodoo').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 14) {fade_subnav_content(new_subnav_menu,14); }
				new_subnav_menu = 14;
		});
	}); 
	$$('.nav_sub_theme_showbiz').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 15) {fade_subnav_content(new_subnav_menu,15); }
				new_subnav_menu = 15;
		});
	}); 
	$$('.nav_sub_theme_skooldisco').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 16) {fade_subnav_content(new_subnav_menu,16); }
				new_subnav_menu = 16;
		});
	}); 
	$$('.nav_sub_theme_adultpanto').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 17) {fade_subnav_content(new_subnav_menu,17); }
				new_subnav_menu = 17;
		});
	}); 

// -----------------------------------------------------------------------------------

	$$('.nav_sub_dance').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 18) {fade_subnav_content(new_subnav_menu,18); }
				new_subnav_menu = 18;
		});
	}); 

	$$('.nav_sub_dance_podium').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 19) {fade_subnav_content(new_subnav_menu,19); }
				new_subnav_menu = 19;
		});
	}); 
	$$('.nav_sub_dance_dancetroupe').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 20) {fade_subnav_content(new_subnav_menu,20); }
				new_subnav_menu = 20;
		});
	}); 
	$$('.nav_sub_dance_moulinrouge').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 21) {fade_subnav_content(new_subnav_menu,21); }
				new_subnav_menu = 21;
		});
	}); 
	$$('.nav_sub_dance_robot').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 22) {fade_subnav_content(new_subnav_menu,22); }
				new_subnav_menu = 22;
		});
	}); 
	$$('.nav_sub_dance_capoeira').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 23) {fade_subnav_content(new_subnav_menu,23); }
				new_subnav_menu = 23;
		});
	}); 
	$$('.nav_sub_dance_decades').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 24) {fade_subnav_content(new_subnav_menu,24); }
				new_subnav_menu = 24;
		});
	}); 
	$$('.nav_sub_dance_ballroom').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 25) {fade_subnav_content(new_subnav_menu,25); }
				new_subnav_menu = 25;
		});
	}); 

// -----------------------------------------------------------------------------------

	$$('.nav_sub_shot').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 26) {fade_subnav_content(new_subnav_menu,26); }
				new_subnav_menu = 26;
		});
	}); 

	$$('.nav_sub_shot_tequila').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 27) {fade_subnav_content(new_subnav_menu,27); }
				new_subnav_menu = 27;
		});
	}); 
	$$('.nav_sub_shot_coyote').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 28) {fade_subnav_content(new_subnav_menu,28); }
				new_subnav_menu = 28;
		});
	}); 
	$$('.nav_sub_shot_skaters').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 29) {fade_subnav_content(new_subnav_menu,29); }
				new_subnav_menu = 29;
		});
	}); 

// -----------------------------------------------------------------------------------

	$$('.nav_sub_staff').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 30) {fade_subnav_content(new_subnav_menu,30); }
				new_subnav_menu = 30;
		});
	}); 

	$$('.nav_sub_staff_leafleting').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 31) {fade_subnav_content(new_subnav_menu,31); }
				new_subnav_menu = 31;
		});
	}); 
	$$('.nav_sub_staff_meetgreet').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 32) {fade_subnav_content(new_subnav_menu,32); }
				new_subnav_menu = 32;
		});
	}); 
	$$('.nav_sub_staff_podium').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 33) {fade_subnav_content(new_subnav_menu,33); }
				new_subnav_menu = 33;
		});
	}); 
	$$('.nav_sub_staff_security').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 34) {fade_subnav_content(new_subnav_menu,34); }
				new_subnav_menu = 34;
		});
	}); 

// -----------------------------------------------------------------------------------

	$$('.nav_sub_dj').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 35) {fade_subnav_content(new_subnav_menu,35); }
				new_subnav_menu = 35;
		});
	}); 

	$$('.nav_sub_dj_matt').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
//				if (new_subnav_menu != 36) {fade_subnav_content(new_subnav_menu,36); }
				new_subnav_menu = 36;
		});
	}); 

// -----------------------------------------------------------------------------------

	$$('.nav_sub_kids').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 39) {fade_subnav_content(new_subnav_menu,39); }
				new_subnav_menu = 39;
		});
	}); 

	$$('.nav_sub_kids_pantomimes').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 40) {fade_subnav_content(new_subnav_menu,40); }
				new_subnav_menu = 40;
		});
	}); 
	$$('.nav_sub_kids_dogs').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 41) {fade_subnav_content(new_subnav_menu,41); }
				new_subnav_menu = 41;
		});
	}); 
	$$('.nav_sub_kids_princesses').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 42) {fade_subnav_content(new_subnav_menu,42); }
				new_subnav_menu = 42;
		});
	}); 
	$$('.nav_sub_kids_santa').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 43) {fade_subnav_content(new_subnav_menu,43); }
				new_subnav_menu = 43;
		});
	}); 
	$$('.nav_sub_kids_balloon').each(function(el){
		el.addEvent('click', function(event) {
			event = new Event(event).stop();
				if (new_subnav_menu != 44) {fade_subnav_content(new_subnav_menu,44); }
				new_subnav_menu = 44;
		});
	}); 


// -------------------------------------------------------------------------------------------------------------
// -------------------------------------------- end SUBNAV links -----------------------------------------------
// -------------------------------------------------------------------------------------------------------------

	function reset_nav(item)
	{
		// first, hide all elements, then reveal the one we want before scrolling up
		$('py_nav_tab_01_themed').setStyle('display', 'none');
		$('py_nav_tab_02_dance').setStyle('display', 'none');
		$('py_nav_tab_03_shot').setStyle('display', 'none');
		$('py_nav_tab_04_staff').setStyle('display', 'none');
		$('py_nav_tab_05_dj').setStyle('display', 'none');
		$('py_nav_tab_06_kids').setStyle('display', 'none');

		switch (item)
		{
			case 1: $('py_nav_tab_01_themed').setStyle('display', 'block'); break;
			case 2: $('py_nav_tab_02_dance').setStyle('display', 'block'); break;
			case 3: $('py_nav_tab_03_shot').setStyle('display', 'block'); break;
			case 4: $('py_nav_tab_04_staff').setStyle('display', 'block'); break;
			case 5: $('py_nav_tab_05_dj').setStyle('display', 'block'); break;
			case 6: $('py_nav_tab_06_kids').setStyle('display', 'block'); break;
//			default: $('py_nav_tab_01_themed').setStyle('display', 'block'); break;
		}

		myChain.callChain();
	}

	function get_menu(menu_number)
	{
		switch (menu_number)
		{
			case 0: return 'py_body_content_home'; break;
			case 1: return 'py_body_content_about'; break;
			case 2: return 'py_body_content_contact'; break;
			case 3: return 'py_body_content_theme'; break;
			case 4: return 'py_body_content_dance'; break;
			case 5: return 'py_body_content_shot'; break;
			case 6: return 'py_body_content_staff'; break;
			case 7: return 'py_body_content_dj'; break;
			case 8: return 'py_body_content_kids'; break;
			case 9: return 'py_nav_intro'; break;
			case 10: return 'py_nav_nav'; break;
			case 11: return 'py_body_content_companies'; break;
			case 12: return 'py_nav_nav_sub'; break;
		}
	}

	function get_subnav_div(number)
	{
		switch (number)
		{
			// themed acts
			case 0: return 'py_body_content_theme'; break;
				case 1: return 'py_body_content_theme_moulinrouge'; break;
				case 2: return 'py_body_content_theme_coyote'; break;
				case 3: return 'py_body_content_theme_pole'; break;
				case 4: return 'py_body_content_theme_feedingthefish'; break;
				case 5: return 'py_body_content_theme_fireact'; break;
				case 6: return 'py_body_content_theme_stilts'; break;
				case 7: return 'py_body_content_theme_ballroom'; break;
				case 8: return 'py_body_content_theme_illusionist'; break;
				case 9: return 'py_body_content_theme_bubbleman'; break;
				case 10: return 'py_body_content_theme_casinoroyale'; break;
				case 11: return 'py_body_content_theme_swords'; break;
				case 12: return 'py_body_content_theme_baywatch'; break;
				case 13: return 'py_body_content_theme_westend'; break;
				case 14: return 'py_body_content_theme_voodoo'; break;
				case 15: return 'py_body_content_theme_showbiz'; break;
				case 16: return 'py_body_content_theme_skooldisco'; break;
				case 17: return 'py_body_content_theme_adultpanto'; break;
			case 18: return 'py_body_content_dance'; break;
				case 19: return 'py_body_content_dance_podium'; break;
				case 20: return 'py_body_content_dance_dancetroupe'; break;
				case 21: return 'py_body_content_dance_moulinrouge'; break;
				case 22: return 'py_body_content_dance_robot'; break;
				case 23: return 'py_body_content_dance_capoeira'; break;
				case 24: return 'py_body_content_dance_decades'; break;
				case 25: return 'py_body_content_dance_ballroom'; break;
			case 26: return 'py_body_content_shot'; break;
				case 27: return 'py_body_content_shot_tequila'; break;
				case 28: return 'py_body_content_shot_coyote'; break;
				case 29: return 'py_body_content_shot_skaters'; break;
			case 30: return 'py_body_content_staff'; break;
				case 31: return 'py_body_content_staff_leafleting'; break;
				case 32: return 'py_body_content_staff_meetgreet'; break;
				case 33: return 'py_body_content_staff_podium'; break;
				case 34: return 'py_body_content_staff_security'; break;
			case 35: return 'py_body_content_dj'; break;
				case 36: return 'py_body_content_dj_matt'; break;
				case 37: return 'py_body_content_dj_paolo'; break;
				case 38: return 'py_body_content_dj_andrew'; break;
			case 39: return 'py_body_content_kids'; break;
				case 40: return 'py_body_content_kids_pantomimes'; break;
				case 41: return 'py_body_content_kids_dogs'; break;
				case 42: return 'py_body_content_kids_princessses'; break;
				case 43: return 'py_body_content_kids_santa'; break;
				case 44: return 'py_body_content_kids_balloon'; break;

		}
	}

	function fade_subnav_content(old_subnav_menu,new_subnav_menu)
	{
		// this is for switching between actual acts content
		//	we need to fade out current menu, set it's div to off, set opacity of new menu to 0, div to show, fade in new item
		var fadeout = new Fx.Style(get_subnav_div(old_subnav_menu)	, 'opacity', {duration:1000});
		var fadein = new Fx.Style(get_subnav_div(new_subnav_menu)	, 'opacity', {duration:1000});

		fadeout.start(1,0).chain(function() {

			$(get_subnav_div(old_subnav_menu)).setStyle('display', 'none');
			$(get_subnav_div(new_subnav_menu)).setOpacity(0);
			$(get_subnav_div(new_subnav_menu)).setStyle('display', 'block');

			fadein.start(0,1);
		});
	}

	function fadecontent(old_menu,new_menu)
	{
		//	we need to fade out current menu, set it's div to off, set opacity of new menu to 0, div to show, fade in new item
		var old_subnav_menu = new_subnav_menu;

		// check if we are displaying subnav content, we need to reset that instead of main
		switch (old_menu)
		{
			// if we are on theme menu and not on the theme home, reset that instead
			case 3: if (new_subnav_menu != 0) { var fadeout = new Fx.Style(get_subnav_div(old_subnav_menu)	, 'opacity', {duration:1000}); break; }
 			case 4: if (new_subnav_menu != 18) { var fadeout = new Fx.Style(get_subnav_div(old_subnav_menu)	, 'opacity', {duration:1000}); break; }
 			case 5: if (new_subnav_menu != 26) { var fadeout = new Fx.Style(get_subnav_div(old_subnav_menu)	, 'opacity', {duration:1000}); break; }
 			case 6: if (new_subnav_menu != 30) { var fadeout = new Fx.Style(get_subnav_div(old_subnav_menu)	, 'opacity', {duration:1000}); break; }
 			case 7: if (new_subnav_menu != 35) { var fadeout = new Fx.Style(get_subnav_div(old_subnav_menu)	, 'opacity', {duration:1000}); break; }
 			case 8: if (new_subnav_menu != 39) { var fadeout = new Fx.Style(get_subnav_div(old_subnav_menu)	, 'opacity', {duration:1000}); break; }
			default: var fadeout = new Fx.Style( get_menu(old_menu)	, 'opacity', {duration:1000}); break;
		}

		var fadein = new Fx.Style(get_menu(new_menu)	, 'opacity', {duration:1000});

		// if we are coming from or going to the home screen, we must also change nav back
		if (old_menu == 0 || new_menu == 0)
		{
			var fade_intro 		= new Fx.Style(get_menu(9)	, 'opacity', {duration:1000});
			var fade_nav 		= new Fx.Style(get_menu(10)	, 'opacity', {duration:1000});
			var fade_nav_sub	= new Fx.Style(get_menu(12)	, 'opacity', {duration:1000});
		}

		fadeout.start(1,0).chain(function() {

			$(get_subnav_div(old_subnav_menu)).setStyle('display', 'none');
 			$(get_menu(old_menu)).setStyle('display', 'none');
 			$(get_menu(new_menu)).setOpacity(0);
 			$(get_menu(new_menu)).setStyle('display', 'block');

			fadein.start(0,1);

			if (old_menu == 0 && new_menu > 0)	// from home
			{

				// this stuff isn't ideal, as the handling to display the subline is different to the handling
				// when switch section by section - handling needs to change when I get around to it.
				fade_nav.start(0,1).chain(function(){
					myChain.clearChain();
					myChain.chain(function(){ reset_nav(new_menu - 2);}, function(){ scroll_topnav.start(0,8); });
					myChain.callChain();
				});
				fade_intro.start(1,0);
 				$(get_menu(9)).setStyle('display', 'none');
				$(get_menu(10)).setOpacity(0);
 				$(get_menu(10)).setStyle('display', 'block');
 				$(get_menu(12)).setOpacity(0);
				$(get_menu(12)).setStyle('display', 'block');
				fade_nav_sub.start(0,1);

			} else if (old_menu > 0 && new_menu == 0)	// to home
			{

				myChain.clearChain();
				myChain.chain(function(){ close_subnav(); }, function()
				{
					menu_sublines = 0;
					fade_nav.start(1,0);
					$(get_menu(12)).setStyle('display', 'none');
					$(get_menu(10)).setStyle('display', 'none');
					$(get_menu(9)).setOpacity(0);
					$(get_menu(9)).setStyle('display', 'block');
					fade_intro.start(0,1);
				});

				myChain.callChain();	// calls close_subnav, which then calls the next chain stuff
				myChain.clearChain();
				
			} else if (old_menu > 0 && new_menu >= 1 && new_menu <= 3)
			{

// 				myChain.clearChain();
// 				myChain.chain(function(){ close_subnav();  }, function()
// 				{
// 					scroll_topnav_reset.start(0,0);
// //					close_subnav();
// 					menu_sublines = 0;
// 				});

//				myChain.callChain();	// calls close_subnav, which then calls the next chain stuff
//				myChain.clearChain();

			}

		});
	}

	function introfade()
	{
		var fadeout = new Fx.Style(	get_menu(2)	, 'opacity', {duration:0});
		var fadein = new Fx.Style(	get_menu(0)	, 'opacity', {duration:5000});
		var fadein_intro = new Fx.Style(get_menu(9)	, 'opacity', {duration:200});

		fadeout.start(1,0).chain(function(){
			$(get_menu(9)).setOpacity(0);
			$(get_menu(9)).setStyle('display', 'block');
			$(get_menu(0)).setOpacity(0);
			$(get_menu(0)).setStyle('display', 'block');
			fadein_intro.start(0,1);
			fadein.start(0,1);
		});

	}

	function switch_page()
	{
		var page = getQuerystring('page');
//		var subnav_page = getQuerystring('sub');

// 		alert(page + ", " + subnav_page);

		// when page called with parameters, set up
		switch(page)
		{

			case '0': break;
			// 1 = home
			case '1': break;
			// 2 = about
			case '2': 
				if (menu != 1) {fadecontent(menu,1); };
				menu = 1;
	
				myChain.clearChain();
				myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() { close_subnav(); } );
				myChain.callChain();
	
				scroll2.toElement('displaycontent1');	
				break;

			// 3 = contact
			case '3': 
				if (menu != 2) {fadecontent(menu,2); };
				menu = 2;
	
	// 			myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() {reset_nav(1);});
				myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() { close_subnav(); } );
	// 			myChain.chain(function(){ scroll_topnav_reset.start(0,0); } );
				myChain.callChain();
	
				scroll2.toElement('displaycontent1');
				break;

			// 4 = themed
			case '4': 
				if (menu != 3) {fadecontent(menu,3); } else { pick_image(2,menu_images[0]); };
	
				if (menu != 3)
				{
	
					menu = 3;
					new_subnav_menu = 0;
		
					myChain.clearChain();
					myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() {reset_nav(1);}, function(){ scroll_topnav.start(0,8); }, function(){open_subnav(1);} );
					myChain.callChain();
					scroll2.toElement('displaycontent2');
	
				}
				break;
			
			// 5 = dancers
			case '5': 
				if (menu != 4) {fadecontent(menu,4); } else { pick_image(3,menu_images[1]); };
	
				if (menu != 4)
				{
					menu = 4;
					new_subnav_menu = 18;
		
					myChain.clearChain();
					myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() {reset_nav(2);}, function(){ scroll_topnav.start(0,8); }, function(){open_subnav(2);});
					myChain.callChain();
					scroll2.toElement('displaycontent3');
				}
				break;

			// 6 = shot girls
			case '6': 
				if (menu != 5) {fadecontent(menu,5); } else { pick_image(4,menu_images[2]); };
	
				if (menu != 5)
				{
					menu = 5;
					new_subnav_menu = 26;
					
					myChain.clearChain();
					myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() {reset_nav(3);}, function(){ scroll_topnav.start(0,8); }, function(){open_subnav(3);});
					myChain.callChain();
					scroll2.toElement('displaycontent4');
				}
				break;

			// 7 = event staff
			case '7': 
				if (menu != 6) {fadecontent(menu,6); } else { pick_image(5,menu_images[3]); };
	
				if (menu != 6)
				{
					menu = 6;
					new_subnav_menu = 30;
		
					myChain.clearChain();
					myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() {reset_nav(4);}, function(){ scroll_topnav.start(0,8); }, function(){open_subnav(4);});
					myChain.callChain();
					scroll2.toElement('displaycontent5');
				}
				break;

			// 8 = dj
			case '8': 
				if (menu != 7) {fadecontent(menu,7); } else { pick_image(6,menu_images[4]); };
	
				if (menu != 7)
				{
					menu = 7;
					new_subnav_menu = 35;
		
					myChain.clearChain();
					myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() {reset_nav(5);}, function(){ scroll_topnav.start(0,8); }, function(){open_subnav(5);});
					myChain.callChain();
					scroll2.toElement('displaycontent6');
				}
				break;

			// 9 = kids
			case '9': 
				if (menu != 8) { fadecontent(menu,8); } else { pick_image(7,menu_images[5]); };
	
				if (menu != 8)
				{
					menu = 8;
					new_subnav_menu = 39;
		
					myChain.clearChain();
					myChain.chain(function(){ scroll_topnav_reset.start(0,0); }, function() {reset_nav(6);}, function(){ scroll_topnav.start(0,8); }, function(){open_subnav(6);});
					myChain.callChain();
					scroll2.toElement('displaycontent7');
				}
				break;
			default: break;

		}
		
		return true;

	}

	function getQuerystring(key, default_)
	{
	  if (default_==null) default_=""; 
	  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
	  var qs = regex.exec(window.location.href);
	  if(qs == null)
		return default_;
	  else
		return qs[1];
	}

}); 
