// JavaScript Document
jQuery.noConflict();
jQuery.fn.reverse = [].reverse;
var autoloopmain  = true;	//Auto loop images or not?
var mainInterval  = false;	//This gets set automatically later
var numMainImages = 0;		//This gets set automatically on page load
var mainDelay     = 5;		//Seconds
var usefade       = true;	//Use a fade effect? If not, images will just change with no effect
var mainfade      = 1;		//Seconds
var currMainImage = 0;		//Starts at 0
var paused        = false   //Has the scroller been paused manually?

jQuery(function($) {

	var agent = navigator.userAgent.toLowerCase();

	     if ($.browser.msie)         { $('body').addClass('ie ie'+$.browser.version.substr(0,1)); }
	else if (agent.match(/chrome/i)) { $('body').addClass('chrome'); }
	else if (agent.match(/safari/i)) { $('body').addClass('safari'); }

	if (agent.match(/iphone/i)) { $('body').addClass('iphone'); }

	numMainImages = $('#home-images .image img').length;
	$('#home-images .nav-prev').click(function() { currMainImage--; updateMainImage(); });
	$('#home-images .nav-pause').click(function() { $(this).hide(); $('#home-images .nav-play').show(); paused = true; pauseMainImage(); });
	$('#home-images .nav-play').click(function() { $(this).hide(); $('#home-images .nav-pause').show(); paused = false; startMainImage(); });
	$('#home-images .nav-next').click(function() { currMainImage++; updateMainImage(); });

	$(':has(p)').find('p:first').addClass('first');
	$(':has(p)').find('p:last').addClass('last');
	$(':has(li)').find('li:first').addClass('first');
	$(':has(li)').find('li:last').addClass('last');

	$('#news-index .entry-content a:has(img)').addClass('hasImage');

	$('.lightbox').lightBox();

	$('.clearOnFocus').focus(function() { if ($(this).val() == $(this).attr('alt')) { $(this).val(''); $(this).addClass('focus'); } });
	$('.clearOnFocus').blur(function()  { if ($(this).val() == '') { $(this).val($(this).attr('alt')); $(this).removeClass('focus'); } });

	//Validate newsletter form (basic validation!)
	$('#subForm').submit(function() {

		var returnVal = true;
		var firstOffender = false;

		$(this).find('input:text').each(function() {

			if ($(this).val() == '' || $(this).val() == $(this).attr('alt')) {
				returnVal = false;
				firstOffender = (firstOffender == false ? $(this) : firstOffender);
			}

		});

		firstOffender.focus();
		return returnVal;

	});
	//End Validate newsletter form

	/* Image scroller */
	$('.hscroll-left').click(function() { moveScroller($(this).parent('.hscroll'), '1') });
	$('.hscroll-right').click(function() { moveScroller($(this).parent('.hscroll'), '-1') });

	$('.hscroll-images-inner img').click(function() {
		if (!$(this).hasClass('current')) {

			var scroller = jQuery(this).closest('#image-scroller');
			var bigpic = scroller.find('.mainimage img');

			bigpic.attr({ 'src'   : jQuery(this).attr('src'),
						  'alt'   : jQuery(this).attr('alt'),
						  'title' : jQuery(this).attr('title')
						});

			jQuery('.hscroll-images-inner img').removeClass('current');
			jQuery(this).addClass('current');

		}
	});
	/* End Image scroller */

	startMainImage();

});

/* Image rotator functions */
function updateMainImage() {

	pauseMainImage();

	if (currMainImage >= numMainImages) { currMainImage = 0; }
	if (currMainImage < 0) { currMainImage = numMainImages - 1; }

	//Fade
	if (usefade) {
		jQuery("#home-images .image img").fadeOut(mainfade * 1000);
		jQuery("#home-images .image img").eq(currMainImage).fadeIn(mainfade * 1000);
	} else {
		jQuery("#home-images .image img").hide().eq(currMainImage).show();
	}

	jQuery('#home-images .imagetitle').html(jQuery("#home-images .image img").eq(currMainImage).attr('alt'));

	startMainImage();

}

function pauseMainImage() {

	//Clear auto-loop timer
	clearInterval(mainInterval);

}

function startMainImage() {

	//Restart timer if auto-loop is on (has not been paused by user)
	paused == false && autoloopmain == true ? mainInterval = setInterval("jQuery('#home-images .nav-next').click();", mainDelay * 1000) : false;

}
/* End Image rotator functions */

/* Image scroller functions */
var allowScroll = true;
function moveScroller($scroller, dir) {

	var $outer   = $scroller.find('.hscroll-images-outer');
	var $inner   = $scroller.find('.hscroll-images-inner');
	var num_imgs = $scroller.find('.hscroll-images-inner img').length;

	if (allowScroll && $outer && $inner && num_imgs > 1 && $inner.width() >= $outer.width()) {

		allowScroll = false;

		var outer_width = $outer.width();
		var inner_width = $inner.width();
		var overflow    = inner_width - outer_width;

		//Grab the second image (the first may have padding / margin removed so that it sits to the left correctly)
		var $img = $inner.find('img').eq('1');

		if ($img) {

			var img_width = $img.outerWidth(true);

			var $inner_pos = $inner.position();
			var curr_left = $inner_pos.left;

			var overflow_left  = (curr_left < 0 ? curr_left * -1 : curr_left);
			var overflow_right = overflow - overflow_left;

			if (dir < 0) {	//move left

				var dist_to_move = Math.min(img_width, overflow_right);
				var new_left = curr_left - dist_to_move;

			} else {		//move right

				var dist_to_move = Math.min(img_width, overflow_left);
				var new_left = curr_left + dist_to_move;

			}

			new_left = new_left + (4 * dir);

			new_left = (new_left > 0 ? 0 : new_left);
			new_left = (new_left < overflow * -1 ? overflow * -1 : new_left);

			$inner.animate({left : new_left}, 750, 'swing', function() { allowScroll = true; });

		}

	}

}
/* End Image scroller functions */

