/* DEFINE GLOBALS
================================================== */

var t_navContent; // timer
var navContent_x_increment = new Number(4); // pixels to move per iteration of loop
var navContent_maxWidth = new Number(0);
var currentSlide = new Number(-1);
var nextSlide = new Number(0);
var t_s; // slideshow timer
var galleryDuration = new Number(1500); // milliseconds
var transitionDuration = new Number(0.5); // seconds
var slideshowElements = new Array();
var galleryRandomStart = new Boolean(false);
var galleryRandomAdvance = new Boolean(false);

Event.observe(window,'load',function()
{
	if(document.getElementById('nav_content_wrapper'))
	{
		// nav content with mouseovers
		Event.observe('next_nav_content','mouseover',function(){navContent_move('next');});
		Event.observe('next_nav_content','mouseout',function(){navContent_stop();});
		Event.observe('prev_nav_content','mouseover',function(){navContent_move('prev');});
		Event.observe('prev_nav_content','mouseout',function(){navContent_stop();});
		navContent_maxWidth = parseInt((($('nav_content_items').childElements().length * 143) + 59) * -1) + parseInt($('nav_content_wrapper').getStyle('width').replace(/[^0-9\-]/gi,''));
		// set active nav content
		if (navContent_active >= 0)
		{
			var elements = $('nav_content_items').childElements();
			var targetElement = document.getElementById(elements[navContent_active].id.replace('_container','_now_showing'));
			targetElement.style.display = "block";
			if (navContent_active > 4) // move the stuff
			{
				document.getElementById('nav_content_items').style.left = navContent_maxWidth+"px";
			}
		}
	}
	if(document.getElementById('speak_up_box') && location.hash != "")
	{
		var tmpHash = location.hash.replace('#','');
		if(document.getElementById('name_'+tmpHash))
		{
			$('name_'+tmpHash).scrollTo();
		}
	}

	// slideshow
	if(document.getElementById('slideshow_container'))
	{
		startGallery();
	}

	if (document.getElementById('notice'))
	{
		new Effect.Pulsate('notice', { pulses: 1, duration: 1 });
	}

	if (document.getElementById('marquee'))
	{
		marqueeScroll();
	}
	if(document.getElementById('floorplans_bldg'))
	{
		if (swfobject.hasFlashPlayerVersion("9.0.0"))
		{
			$('floorplans_bldg').style.background = "url('/images/ajax-loader.gif') 50% 50%";
		}
	}
});


/* FUNCTIONS
================================================== */

function navContent_move(direction)
{
	t_navContent = setTimeout("navContent_move('"+direction+"');",10);
	if (direction == "next")
	{
		var tmpModifier = new Number(-1);
	} else if (direction == "prev") {
		var tmpModifier = new Number(1);
	}
	var currPos = new Number($('nav_content_items').getStyle('left').replace(/[^0-9\-]/gi,''));
	var nextPos = ((navContent_x_increment * tmpModifier) + currPos);
	if ((nextPos < 15) && (nextPos > navContent_maxWidth))
	{
		$('nav_content_items').setStyle({left: (nextPos.toString()+"px")});
	} else {
		navContent_stop();
	}
}
function navContent_stop()
{
	clearTimeout(t_navContent);
}
function navContent_action(element,action)
{
	if(document.getElementById('nav_content_'+element+'_container'))
	{
		if (action == "over")
		{
			$('nav_content_'+element+'_container').morph('width: 157px; height: 201px; margin-top: 0px;', { duration: 0.25 });
//			new Effect.Move('nav_content_items', { x: -30, mode: 'relative', duration: 0.25 });
			$('nav_content_'+element+'_on').appear({ duration: 0.25 });
//			$('nav_content_'+element+'_off').fade({ duration: 0.25 });
		} else if (action == "out") {
			$('nav_content_'+element+'_container').morph('width: 128px; height: 145px; margin-top: 26px;', { duration: 0.25 });
//			new Effect.Move('nav_content_items', { x: 30, mode: 'relative', duration: 0.25 });
			$('nav_content_'+element+'_on').fade({ duration: 0.25 });
//			$('nav_content_'+element+'_off').appear({ duration: 0.25 });
		}
	}
}


/* SLIDESHOWS
================================================== */

function startGallery()
{
	document.getElementById('loading_message').style.display='none';
	slideshowElements = $$('p.slideshow_item'); // get all slideshow elements
	if (galleryRandomStart == true)
	{
		nextSlide = Math.floor(Math.random() * slideshowElements.length); // randomize position
	}
	advanceGallerySlide(); // begin gallery
}

function advanceGallerySlide()
{
	if($(slideshowElements[nextSlide]).firstDescendant().complete) // image inside element has loaded
	{
		if (slideshowElements[currentSlide]) // not necessary for first slide on page load
		{
			new Effect.Fade(slideshowElements[currentSlide],{from: 1.0, to: 0, duration: (transitionDuration * 2)});
		}
		new Effect.Appear(slideshowElements[nextSlide],{from: 0, to: 1.0, duration: transitionDuration});
		currentSlide = nextSlide;
		if (galleryRandomAdvance == true)
		{
			nextSlide = Math.floor(Math.random() * slideshowElements.length); // randomize position
			while (nextSlide == currentSlide) // pick random slides until we get a unique one
			{
				nextSlide = Math.floor(Math.random() * slideshowElements.length); // randomize position
			}
		} else {
			nextSlide++;
		}
		if(nextSlide >= slideshowElements.length) 
		{
			nextSlide = 0;
		}
		t_s = setTimeout("advanceGallerySlide()", galleryDuration);
	} else { // file not loaded, try again soon
		t_s = setTimeout("advanceGallerySlide()",500);
	}
}
function marqueeScroll()
{
	var leftPX = $('marquee').getStyle('left').replace(/[a-z]/g,'');
	if (leftPX < ($('marquee').getWidth() * -1))
	{
		leftPX = $('readerboard').getWidth().toString() + "px";
	} else {
		leftPX = (leftPX - 2).toString() + "px";
	}
	$('marquee').setStyle({left: leftPX});
	var marquee_t = setTimeout("marqueeScroll()", 30);
}