
var backgroundImages = new Array;
var switchMilliseconds = 5000;
var sliding = false;
var currentImage = 0;

function setHeight()
{
	var minHeight = 395;
	var maxHeight = 700;
	var headerFooterHeight = 235;
	
	var docHeight = document.viewport.getHeight();
	var bodyHeight = $('site_container').getHeight();
	
	if ( docHeight > bodyHeight ) {
		$('body_container').style.height = Math.min(docHeight-headerFooterHeight, maxHeight) + 'px';
		var elems = $$('img[class="background"]');
		
		for (var j=0; j<elems.length; j++){
			
			originalHeight = elems[j].style.height;
			elems[j].style.height = Math.min(docHeight-headerFooterHeight, maxHeight) + 'px';			
			elems[j].style.width = elems[j].style.width*(originalHeight/elems[j].style.height);
		}
		
	}
	else if ( docHeight < bodyHeight ) {
		$('body_container').style.height = Math.max(docHeight-headerFooterHeight, minHeight) + 'px';
		
		var elems = $$('img[class="background"]');
		
		for (var j=0; j<elems.length; j++){
			elems[j].style.height = Math.max(docHeight-headerFooterHeight, minHeight) + 'px';
			elems[j].style.width = $('body_container').style.width;
		}
		
	}
}

var lastSlideDiv = '';
var currentMapBackgroundImage = '';
var currentMapBackgroundImageIndex;

function showContent(link,contentLabel)
{	
	if (performSliding==false){
		performSliding=true;
		return false;
	}
	if (sliding==true){
		return false;
	}
	
	var elems = $$('a[class="subNavLinkActive"]');
		
	for (var j=0; j< elems.length; j++){			
			elems[j].className = 'subNavLink';
	}
		
	var elem = $('content_' + contentLabel);
	
	if (elem.style.display == '') {
	
			if ($('content_map_background_image') && $('content_map_background_image').style.backgroundImage == 'none'){
				publishPicture(currentImage);
				$('slideshow_navigator').style.display = '';
			}
	
			lastSlideDiv = '';
			
			var elems = $$('a[class="subNavLink"]');

			if (elems.length ){
				
					$('body_container').onclick= elems[0].onclick;	
				
			}
			
			new Effect.SlideUp(elem,{ scaleContent:false,duration:0.5,beforeStart:function(){ disableSliders(); },afterFinish:function(){ enableSliders(); }  });
	}
	else {
		
		if (contentLabel=='map'){
			clearTimeout(timer);
			currentMapBackgroundImageIndex = currentImage;
			$('slideshow_navigator').style.display = 'none';
			$('body_container_image').style.backgroundImage = 'none';
			$('content_map_background_image').style.backgroundImage = 'none';
			$('subNavBackground').style.backgroundImage = 'none';
			
		}
		
			link.className =  'subNavLinkActive';
			$$('#body_container .content_block').invoke('hide');

			lastSlideDiv = 'content_' + contentLabel;
			
			$('body_container').onclick= function(){
				
				if (sliding==true){
					return false;
				}
				
				if (performSliding==false){
					performSliding=true;
					return false;
				}
				
				if ($('content_map_background_image') && $('content_map_background_image').style.backgroundImage == 'none'){
					publishPicture(currentImage);
					$('slideshow_navigator').style.display = '';
				}
				
				var elems = $$('a[class="subNavLinkActive"]');
		
				for (var j=0; j< elems.length; j++){
					
						elems[j].className = 'subNavLink';
				}
				
				new Effect.SlideUp(elem,{ scaleContent:false,duration:0.5,beforeStart:function(){ disableSliders(); },afterFinish:function(){ enableSliders(); }  });
				var elems = $$('a[class="subNavLink"]');

				if (elems.length ){
					
						$('body_container').onclick= elems[0].onclick;	
				
				}
				
			}
			
			new Effect.SlideDown(elem,{  scaleContent:false,duration:0.5,beforeStart:function(){ disableSliders(); },afterFinish:function(){ enableSliders(); } });
	}
	
		
		

	return false;
}

function verifyBackgroundImages(){
	if ($(lastSlideDiv+'_background_image')){
		$(lastSlideDiv+'_background_image').style.display = '';
	}
}

function disableSliders(){
	sliding = true;
	verifyBackgroundImages();
}

function enableSliders(){
	sliding = false;
}

function showMap(){  
	$('contactInfo').style.display = 'none';
	$('body_container').onclick= function(){closeMap(); };					
		
		new Effect.Appear($('contactMap'),{ duration: 1 });
		$('subNavLink_map').className = 'subNavLinkActive';
}

function closeMap(){
	
	$('contactMap').style.display = 'none';	
	new Effect.Appear($('contactInfo'),{ duration: 1 });
	
	$('body_container').onclick= function(){
		
		$('body_container').onclick= function(){closeMap(); };					
		$('contactInfo').style.display = 'none';
		new Effect.Appear($('contactMap'),{ duration: 1 });
		$('subNavLink_map').className = 'subNavLinkActive';
	};	
	
	$('subNavLink_map').className = 'subNavLink';
	return false;		
}


function centerSite(){
	if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
	
	$('site_container').style.position = 'absolute';
	if ((myHeight-660)/2 > 0){
		$('site_container').style.top= (myHeight-660)/2+'px';	
	}
	
	if (myWidth-1000 > 0){
		$('site_container').style.left= (myWidth-1000)/2+'px';
	}
	
}

function initializeBodyContainer()
{
	
	centerSite();
	
  
	//initialize page indicator
	
	var elems = $$('a[class="navLinkActive"]');
	
	for (var j=0; j< elems.length; j++){
		
			elems[j].className = 'navLink';
	}
	
	//get the current active page
	
	currentPage = document.body.id;
	

	elems = $$('a[class="navLink"]');
	
	for (var j=0; j< elems.length; j++){
		

		mySearchee = elems[j].innerHTML.toLowerCase();
		var myRegExp1 = new RegExp(currentPage);
		var matchPos1 = mySearchee.search(myRegExp1);
		
		if(matchPos1!=-1){
			elems[j].className = 'navLinkActive';
		}
			
	}	
	
	
	//$$('#body_container .content_block').invoke('hide');
	
	// Add click handler for content_container to show first text block
	
	var elems = $$('a[class="subNavLink"]');

	if (elems.length ){
		
		$('body_container').style.cursor = 'pointer';
	
		///if (elems[0].innerHTML != 'map'){			
			$('body_container').onclick= elems[0].onclick;	
		//}
	
	}
}

var readyForUse = false;
function setBackgroundImages(myArray){
		backgroundImages = myArray;
}
var timer;

function changePageIndicator(i){
	
	var indicators = $$('img[class="slideshow_image_indicator"]');
		
		for (j=0; j<indicators.length; j++){
			indicators[j].src = '/site_images/emptyCircle.png';
		}
		
		$('slideshow_image_indicator_'+i).src = '/site_images/fullCircle.png';	
	
}
nextImage=0;

function startPublishingPicture(i){
	if (backgroundImages['original'].length > 1){
		nextImage = i;
		
		if (lastSlideDiv != ''){
			
			
		new Effect.Parallel([
		new Effect.Fade($('subNavBackground'),{ sync: true}),	
		  new Effect.Fade($('body_container_image'),{ sync: true}),
	  	  new Effect.Fade($(lastSlideDiv+'_background_image'),{ sync: true })
		], { 
		  duration: 1.0, beforeStart:function(){ disableSlideshowNavigator(); } , afterFinish: function(){ publishPicture(nextImage); }
		});
				
		}
		else{
		
		 if ($('subNavBackground')){	
			new Effect.Parallel([
				new Effect.Fade($('subNavBackground'),{ sync: true}),	
				new Effect.Fade($('body_container_image'),{ sync: true})	
		    ], { 
		  duration: 1.0,beforeStart:function(){ disableSlideshowNavigator(); }, afterFinish: function(){ publishPicture(nextImage); }
			});
			
		 }
		 else{
		 	new Effect.Fade($('body_container_image'),{ beforeStart:function(){ disableSlideshowNavigator(); } ,  duration: 1.0,afterFinish: function(){ publishPicture(nextImage); }});
		 }
			
			
		}
		
		
		
	}
}

navigationDisable = false;

function disableSlideshowNavigator(){
	
	var indicators = $$('img[class="slideshow_image_indicator"]');
		
	for (j=0; j<indicators.length; j++){
			indicators[j].onclick = returnDisableAction;
	}
	
	navigationDisable=true;
}

function returnDisableAction(){
	performSliding= false;	
}

var lastEnableItem = 0;
function enableSlideshowNavigator(){
	
	navigationDisable = false;	
	var indicators = $$('img[class="slideshow_image_indicator"]');
	
		
		for (j=0; j<indicators.length; j++){
			lastEnableItem = j+1;
			indicators[j].onclick = new Function("jumpToImage("+lastEnableItem+");");
			
		}
}

var firstImage = true;

function publishPicture(i) {
	
	currentImage = i;
	
	if (backgroundImages['original'].length > 1){
		
		if (firstImage==false){
		
	
		$('body_container_image').style.display='none';	
		
		if ($('subNavBackground')){	
			$('subNavBackground').style.display = 'none';
		}
		
		//$('content_background_image').style.display='none';		
		
		var indicators = $$('img[class="slideshow_image_indicator"]');
		
		for (j=0; j<indicators.length; j++){
			indicators[j].src = '/site_images/emptyCircle.png';
		}
		
		$('slideshow_image_indicator_'+i).src = '/site_images/fullCircle.png';	
				
		var divs = $$('div[class="content_background_image"]');
		
		for (var j=0; j<divs.length; j++){
			divs[j].style.backgroundImage = 'url("'+backgroundImages['blurred'][i]+'")';
		}
		
		
		
		//slideshow_image_indicator
		
		$('body_container_image').style.backgroundImage = 'url("'+backgroundImages['original'][i]+'")';
		if ($('subNavBackground')){	
			$('subNavBackground').style.backgroundImage = 'url("'+backgroundImages['blurred'][i]+'")';
		}
		
		
		if (lastSlideDiv != ''){
			
		$(lastSlideDiv+'_background_image').style.display = 'none';	
			
		new Effect.Parallel([
		new Effect.Appear('subNavBackground',{ sync: true}),	
		  new Effect.Appear('body_container_image',{ sync: true}),
	  	  new Effect.Appear(lastSlideDiv+'_background_image',{ sync: true })
		], { 
		  duration: 1.0, afterFinish: function(){ enableSlideshowNavigator(); }
		});
				
		}
		else{
		
		 if ($('subNavBackground')){
		 	
			new Effect.Parallel([
				new Effect.Appear('subNavBackground',{ sync: true}),	
				new Effect.Appear('body_container_image',{ sync: true})	
		    ], { duration: 1.0, afterFinish: function(){ enableSlideshowNavigator(); }});
	
		 }
		 else{
		 	new Effect.Appear('body_container_image',{   duration: 1.0, afterFinish: function(){ enableSlideshowNavigator(); }});
		 }
			
			
		}
		
		}
		
		
	
		firstImage = false;
		i++;
		if( i > (backgroundImages['original'].length - 1) ) { i = 0; }
		
		timer = setTimeout('startPublishingPicture('+i+')',switchMilliseconds);
	}	
}

var performSliding = true;

function jumpToImage(imageId){
	
	$('slideshow_pause_indicator').src = '/site_images/Pause_White.png';
	$('slideshow_pause_indicator').onclick= function(){ pauseAnimation() };
	$('slideshow_pause_indicator').onmouseover= function(){ $('slideshow_pause_indicator').src='/site_images/Pause_Gray.png' };
	$('slideshow_pause_indicator').onmouseout= function(){$('slideshow_pause_indicator').src='/site_images/Pause_White.png' };
	
	disableSlideshowNavigator();
	performSliding= false;	
	clearTimeout(timer);
	publishPicture(imageId-1);
}

function stopSlider(){
	performSliding= false;	
}


function pauseAnimation(){
	performSliding= false;	
	
	if (navigationDisable){
		return false;
	}
	clearTimeout(timer);
	$('slideshow_pause_indicator').src = '/site_images/Play_White.png';
	$('slideshow_pause_indicator').onclick= function(){ resumeAnimation() };
	$('slideshow_pause_indicator').onmouseover= function(){ $('slideshow_pause_indicator').src='/site_images/Play_Gray.png' };
	$('slideshow_pause_indicator').onmouseout= function(){$('slideshow_pause_indicator').src='/site_images/Play_White.png' };
}

function resumeAnimation(){
	performSliding= false;	
	if (navigationDisable){
		return false;
	}
	
	$('slideshow_pause_indicator').src = '/site_images/Pause_White.png';
	$('slideshow_pause_indicator').onclick= function(){ pauseAnimation() };
	$('slideshow_pause_indicator').onmouseover= function(){ $('slideshow_pause_indicator').src='/site_images/Pause_Gray.png' };
	$('slideshow_pause_indicator').onmouseout= function(){$('slideshow_pause_indicator').src='/site_images/Pause_White.png' };

	if( currentImage+1 > (backgroundImages['original'].length - 1) ) { currentImage = 0; }
	else{ currentImage +=1;}
	
	publishPicture(currentImage);
}

function openGoogleMap(){
	performSliding= false;	
	window.open('http://maps.google.com/maps?q=49.2794655,-123.1013883');
}
