$(document).ready(function() { 
	
	// Add bullets to footer links
	$('div#footer ul li').not(':last').append('&bull;');
	
	// Add fadeIn/fadeOut animation effect to main navigation
	$('ul.nav li ul').removeClass('hover');
	$('ul.nav li').hover(
		function () {
			$(this).find('ul').fadeIn('fast');
		},
		function () {
			$(this).find('ul').fadeOut('fast');
		}
	);
	
	// Adding PNG support for IE6 for animation PNGs
	if ($('html').hasClass('ie6')) {
		DD_belatedPNG.fix('div#slide1');
		DD_belatedPNG.fix('div.defaultRight');
	}
	
	
	//member login
	$('a.login').fancybox({
		'autoDimensions' : false,
		'width' : 500,
		'height' : 300
	});
	
	$('a.print').click(function(){
		window.print();
	});
	
	//headlines nav slider
	//$('div#news').append('<div class="controls"><span class="control" id="prev_control">Prev</span><span id="news_item_number">1</span><span class="control" id="next_control">Next</span> <a href="/news/">Read more news &gt;</a></p>')

	var currentPosition = 0;
	var headlinesWidth = 260;
	var headlines = $('#headlines_container ul li');
	var headlinesCount = headlines.length;
	
	function manageControls(position) {	
		if(position == 0) {
			$('#prev_control').attr('disabled', 'true').fadeTo('slow', 0.2)
		} else {
			$('#prev_control').attr('disabled', 'false').fadeTo('slow', 1)
		}
		
		if(position == headlinesCount - 1) {
			$('#next_control').attr('disabled', 'true').fadeTo('slow', 0.2)
		} else {
			$('#next_control').attr('disabled', 'false').fadeTo('slow', 1)
		}
	}
	
	function showNextHeadline() {
		$('#headlines_container ul').fadeOut('fast', 
			function() {
				$('#news_item_number').text(currentPosition + 1);
				$(this).css('marginLeft', headlinesWidth * (-currentPosition));
				$(this).fadeIn('fast');
			}
		);
	}
	
	manageControls(currentPosition);
	
	$('#headlines_container ul').css('width', headlinesWidth * headlinesCount);
	
	$('#prev_control').click(
		function() {
			var prevDisabled = $('#prev_control').attr('disabled');
			
			if(prevDisabled == 'true') {
				return false;
			} else {
				currentPosition--;
				manageControls(currentPosition);
				showNextHeadline();
			}
		}	
	);
	
	$('#next_control').click(
		function() {
			var nextDisabled = $('#next_control').attr('disabled');
			
			if(nextDisabled == 'true') {
				return false;
			} else {
				currentPosition++;
				manageControls(currentPosition);
				showNextHeadline();
			}
		}	
	);
	
	//news, events, bios, etc page
	function closeAll() {
		if ($('ul.custom_object li').size() > 1) {
			$('ul.custom_object li').each(function() {
				if (($(this).find('div.more').size() == 0) && ($(this).find('div.content').children('p').size() > 1)) {
					closeOne($(this));
					$(this).find('div.content').append('<div class="more">Contine reading &gt;</div>');	
				}
			});
		}
	}
	
	function closeOne(obj) {
		obj.find('div.content p').hide();
		obj.find('div.content p:first').show();
		obj.addClass('closed');
		obj.unbind('click');
		obj.click(function() {
			openOne($(this));
		});
		$('div.more').show();
	}
	
	function openOne(obj) {
		closeAll();
		obj.find('p').show();
		obj.removeClass('closed');		
		obj.unbind('click');
		obj.click(function() {
			closeOne($(this));
		});
		obj.find('div.more').hide();		
	}
	
	closeAll();	
	
	
	//contact
	$('form.contact').submit(function() {
		errors = new Array();
		if (!$(this).find('input[name=your_name]').val()) errors[errors.length] = 'the name field is empty';
		if (!$(this).find('input[name=email]').val()) errors[errors.length] = 'the email field is empty';
		if (!$(this).find('textarea[name=message]').val()) errors[errors.length] = 'the message field is empty';
		$(this).attr('action', '/contactform.php');
		return form_errors(errors);
	});
	
	
	// Home Page Banner Animation ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
	
	
	// Easing Options:
	// 		easeInCirc/easeOutCirc
	// 		easeInOutExpo
	// 		easeInBack/easeOutBack
	// 		easeInElastic/easeOutElastic
	// 		easeInBounce/easeOutBounce
	// 		easeInOutElastic
	
	
	// Initial Variables	
	var stageLeft = -150;
	var stageRight = 150;
	var stageCenter = 0;
	
	var messagesVisible = false;
	var count = 0;
	var triangleCount = 0;
	
	
	var textSlides = $('div#banner_slideshow div.slides');	
	
	var textSlide1 = [ $('div#slide1'), 500, 700, 5000, 'easeOutExpo', 'easeInExpo', stageLeft, stageRight, true, false ];
	var textSlide2 = [ $('div#slide2'), 500, 700, 5000, 'easeOutExpo', 'easeInExpo', stageRight, stageLeft, false, false ];
	var textSlide3 = [ $('div#slide3'), 500, 700, 5000, 'easeOutExpo', 'easeInExpo', stageRight, stageLeft, false, false ];
	var textSlide4 = [ $('div#slide4'), 500, 700, 5000, 'easeOutExpo', 'easeInExpo', stageRight, stageLeft, false, false ];
	
/*
	var textSlide1 = [ $('div#slide1'), 500, 1500, 5000, 'easeOutExpo', 'easeInExpo', stageLeft, stageRight, true, false ];
	var textSlide2 = [ $('div#slide2'), 400, 1000, 5000, 'easeOutExpo', 'easeInExpo', stageRight, stageLeft, false, false ];
	var textSlide3 = [ $('div#slide3'), 600, 1200, 5000, 'easeOutExpo', 'easeInExpo', stageRight, stageLeft, false, false ];
	var textSlide4 = [ $('div#slide4'), 500, 900, 5000, 'easeOutExpo', 'easeInExpo', stageRight, stageLeft, false, false ];
*/
	
	var messageBlocks = [ $('div#message2'), $('div#message3'), $('div#message4') ];

	var triangleSlides = [ $('div#triangle1'), $('div#triangle2'), $('div#triangle3'), $('div#triangle4'), $('div#triangle5') ];
	
	var animPause;
	
	
	// Initialize Positions:
	$('div.slides, div#messages div, div.triangles').hide(); /* removed div#messages so message box is not hidden */

	$('div.slides, div.triangles').each(function() { /* removed div#messages so message box is moved on initial load */
		if($(this).hasClass('defaultLeft')) {
			$(this).css('left', stageLeft);
		} else if($(this).hasClass('defaultRight')) {
			$(this).css('left', stageRight);
		} else {
			$(this).css('left', stageRight);
		}
	});
	
	
	// Obtain a random number between min and max values
	function getRandomNumber(minNumber, maxNumber) {
		var randomNumber = minNumber + ((maxNumber - minNumber) * Math.random());
		
		return Math.floor(randomNumber);
	}
	
	
	// Animate the slide
	function animateSlide(slideArray) {
					
		var thisSlide = slideArray[0]; 				// selected slide
		var startDelay = slideArray[1]; 			// delay before starting animation
		var slideDuration = slideArray[2]; 			// how long the animation takes to complete
		var slidePause = slideArray[3]; 			// how long to pause slide on screen before removing it
		var slideInStyle = slideArray[4]; 			// easing methond when sliding in
		var slideOutStyle = slideArray[5]; 			// easing method when sliding out
		var startPos = slideArray[6]; 				// starting position of the slide
		var endPos = slideArray[7]; 				// ending position of the slide
		var repeatSlide = slideArray[8];			// is this the repeating "Difference" slide? [boolean]
		var isTriangle = slideArray[9];				// is this a Triangle shape slide
				
		thisSlide.show().css('opacity', 0).delay(startDelay).animate({
			'opacity' : 1,
			'left': stageCenter
		}, slideDuration, slideInStyle, function() {
			if(repeatSlide == true) {
				showMessage();
			}
		}).delay(slidePause).animate({
			'left' : endPos,
			'opacity' : 0
		}, slideDuration, slideOutStyle, function() {
			//bannerClickable(false);
			thisSlide.css({
				'left' : startPos,
				'opacity' : 1
			}).hide();
			if(repeatSlide == true) {
				count++;
				initiateTextSlides();
			}
		});
	}
	
	
	// Show message for specified slide
	function showMessage() {
		if(count == 0 && messagesVisible == false) {
	
			messagesVisible = true;
	
			/*
			$('div#messages').show().animate({
				'left' : 590
			}, 1000, 'easeInCirc', function() {
				messageBlocks[count].fadeIn();
			});
			
			removed this chunk since no longer need to animate box into view
			*/
			
			messageBlocks[count].fadeIn();
			
			bannerClickable(messageBlocks[count]);
			
		} else if( count == 0) {
			messageBlocks[2].fadeOut();
			messageBlocks[count].fadeIn();
			
			bannerClickable(messageBlocks[count]);
			
		} else if(count > 0 && count < 3) {
			messageBlocks[count-1].fadeOut();
			messageBlocks[count].fadeIn();
			
			bannerClickable(messageBlocks[count]);
			
		} else if(count == 3) {
				bannerClickable(false);
				count = 0;
				initiateTextSlides();
		}
	}
	
	
	// Snatch link from the message box
	function snatchMessagelink(thisMessage) {
		var link = $(thisMessage).find('a').attr('href');
		return link;
	}
	
	// Activate the entire banner slideshow so it is clickable
	function bannerClickable(message) {
		if(message != false) {
		var newLink = snatchMessagelink(message);
		$('div#banner_slideshow').addClass('clickable').click(function() {
			if($(this).hasClass('clickable')) {
				window.location = newLink;
			}
		});
				
		} else {
			$('div#banner_slideshow').removeClass('clickable');
		}
	}
	
	
	
	// Initiate the sliding in of the text slides in sequence
	function initiateTextSlides() {
		if (count == 0) {
			animateSlide(textSlide1);
			animateSlide(textSlide2);
		} else if (count == 1) {
			animateSlide(textSlide1);
			animateSlide(textSlide3);
		} else if (count == 2) {
			animateSlide(textSlide1);
			animateSlide(textSlide4);
		} else if (count == 3) {
			showMessage();
		}
	}
	
	
	function initiateTriangleSlides() {					
		
		var totalTriangles = triangleSlides.length - 1;
		
		if(triangleCount <= totalTriangles) {
			
			var triangleStartDelay = getRandomNumber(1,11) * 1000;
			var triangleDuration = getRandomNumber(1,11) * 1000;
			var trianglePause = 0;
			var triangleStartPos;
			var triangleEndPos;
			
			var cointoss = getRandomNumber(0, 11);
						
			if(cointoss <= 5) {
				triangleStartPos = stageRight;
				triangleEndPos = stageLeft;
			} else {
				triangleStartPos = stageLeft;
				triangleEndPos = stageRight;
			}
						
			var triangleArray = new Array();
			triangleArray[0] = triangleSlides[triangleCount];
			triangleArray[1] = triangleStartDelay;
			triangleArray[2] = triangleDuration;
			triangleArray[3] = trianglePause;
			triangleArray[4] = 'linear';
			triangleArray[5] = 'linear';
			triangleArray[6] = triangleStartPos;
			triangleArray[7] = triangleEndPos;
			triangleArray[8] = false;
			triangleArray[9] = true;
			
			triangleArray[0].css('left', triangleStartPos);
			
			animateSlide(triangleArray);
			
			
			triangleCount++;
			triangleTimer();
		} else {
			triangleCount = 0;
			triangleTimer();
		}
	}

	
	function triangleTimer() {
		setTimeout(initiateTriangleSlides, 6000);
	}
	
	
	function animationDirector() {
		initiateTextSlides();
		//initiateTriangleSlides();
	}
	
	
	// Launch the AnimationDirector
	animationDirector();


	
});	



