/* Author: Coordinate

*/

//Cufon.replace('nav ul li a, h1');

$(document).ready(function() {
	
	// Set contact email
	var contactAccount = 'candice';
	var contactDomain = 'ophotography.com.au'
	var contactEmail = contactAccount + '@' + contactDomain;
	
	$('#contactEmail').html('<a href="mailto:' + contactEmail + '">' + contactEmail + '</a>');
	
	$('#lightBox').fadeIn(500);
	$('.featuredImgs a').css("opacity", 0.25);
	$('.featuredImgs a').hover(function() {
		$(this).stop().fadeTo(250, 1);
	}, function() {
		$(this).stop().fadeTo(250, 0.25);
	});
	
	$('#galleryContainer').hover(function() {
		$('#rightArrow').stop().fadeTo(250, 1).animate({"right": "-10px"}, 250);
		$('#leftArrow').stop().fadeTo(250, 1).animate({"left": "-10px"}, 250);
	}, function() {
		$('#rightArrow').stop().fadeTo(250, 0).animate({"right": "-1px"}, 250);
		$('#leftArrow').stop().fadeTo(250, 0).animate({"left": "-1px"}, 250);
	});
	
	$('#thumbsContainer').hover(function() {
		var thumbsHeight = $("#thumbs").outerHeight();
		var thumbsContainer = $("#thumbsMask").height();
		if (thumbsHeight > thumbsContainer) {
			$('#upArrow').stop().fadeTo(250, 1).animate({"top": "-10px"}, 250);
			$('#downArrow').stop().fadeTo(250, 1).animate({"bottom": "-10px"}, 250);
		} else {
			$('#upArrow').hide();
			$('#downArrow').hide();
		};
	}, function() {
		$('#upArrow').stop().fadeTo(250, 0).animate({"top": "-1px"}, 250);
		$('#downArrow').stop().fadeTo(250, 0).animate({"bottom": "-1px"}, 250);
	});
	
	//Slide Navigation
	$('#rightArrow').click(function() {
		nextslide();
		
		var thumbsPos = $("#thumbs").position();
		var thumbsHeight = $("#thumbs").height();
		var thumbsContainer = $("#thumbsMask").height();
		var overFlow = thumbsHeight - thumbsContainer;
		
		if (!$("#thumbs a:first").hasClass("activeslide")) {
			if (thumbsPos.top <= -overFlow) {
				return false;
			} else {
				$("#thumbs").stop().animate({"top" : "-=50px"}, 250);
			};
		} else {
			$("#thumbs").stop().animate({"top" : 0}, 500);
		};
				
		return false;
	});
			
	$('#leftArrow').click(function() {
		prevslide();
		
		var thumbsPos = $("#thumbs").position();
		var thumbsHeight = $("#thumbs").height();
		var thumbsContainer = $("#thumbsMask").height();
		var overFlow = thumbsHeight - thumbsContainer;
		
		if (!$("#thumbs a:last").hasClass("activeslide")) {
			if (thumbsPos.top >= 0) {
				return false;
			} else {
				$("#thumbs").stop().animate({"top" : "+=50px"}, 250);
			};
		} else {
			$("#thumbs").stop().animate({"top" : -overFlow}, 500);
		};
		
		return false;
	});
	
	//Thumb Navigation
	$('#downArrow').click(function() {
		var thumbsPos = $("#thumbs").position();
		var thumbsHeight = $("#thumbs").height();
		var thumbsContainer = $("#thumbsMask").height();
		var overFlow = thumbsHeight - thumbsContainer;
		
		if (thumbsPos.top <= -overFlow) {
			return false;
		} else {
			$("#thumbs").stop().animate({"top" : "-=50px"}, 250);
		};
		return false;
	});
			
	$('#upArrow').click(function() {
		var thumbsPos = $("#thumbs").position();
		
		if (thumbsPos.top >= 0) {
			return false;
		} else {
			$("#thumbs").stop().animate({"top" : "+=50px"}, 250);
		};
		return false;
	});
	
	//$(".blogPost").find("img").parent("a").addClass("fancyBox");
//	$(".blogPost").find(".fancyBox").parent("p").addClass("blogPostInner");
//	$(".fancyBox").attr("rel", "gallery");
//	$(".fancyBox").fancybox({
//				'titleShow'		: false
//			});
			
	
	
});

(function($){
	
	$.fn.slider = function() {
		$.inAnimation = false;
		
		$(window).bind("load", function(){
			$('#gallery').fadeIn(500);
			if ($('#gallery .activeslide').length == 0)
			$('#gallery a:first').addClass('activeslide');
			$('#gallery a:last').addClass('prevslide');
			$('#thumbs a').find('img').css('opacity', 0.25);
			$('#thumbs a:first').addClass('activeslide').find('img').css('opacity', 1);
			$('#thumbs a:last').addClass('prevslide');
		});
	};
	
	$(window).bind("resize", function(){
		$('#lightBox').lightBoxResize();
	});
	
	//Randomise the photo order
	$.fn.shuffle = function() {
		return this.each(function(){
			var items = $(this).children().clone(true);
			return (items.length) ? $(this).html($.shuffle(items)) : this;
		});
	}
	
	$.shuffle = function(arr) {
		for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
		return arr;
	}
	
	$.fn.lightBoxResize = function() {
		var browserwidth = $(window).width();
		$(this).css("width", browserwidth + 239);
	};
	
	$('.featuredImgs').shuffle();
	$('#lightBox').lightBoxResize();
	
	$('#gallery').slider();
	
})(jQuery);
	
	//Slideshow Next Slide
	function nextslide() {
		//if($.inAnimation) return false;
//		else $.inAnimation = true;
	    var currentslide = $('#gallery .activeslide');
		var currentThumb = $('#thumbs .activeslide');
	    currentslide.removeClass('activeslide');
		currentThumb.removeClass('activeslide').find('img').fadeTo(250, 0.25);
		
	    if ( currentslide.length == 0 ) currentslide = $('#gallery a:last');
		if ( currentThumb.length == 0 ) currentThumb = $('#thumbs a:last');
			
	    var nextslide =  currentslide.next().length ? currentslide.next() : $('#gallery a:first');
		var nextThumb =  currentThumb.next().length ? currentThumb.next() : $('#thumbs a:first');
	    var prevslide =  nextslide.prev().length ? nextslide.prev() : $('#gallery a:last');
		var prevThumb =  nextThumb.prev().length ? nextThumb.prev() : $('#thumbs a:last');
		
		$('#gallery .prevslide').removeClass('prevslide');
		$('#thumbs .prevslide').removeClass('prevslide');
		prevslide.addClass('prevslide');
		prevThumb.addClass('prevslide');
		
	    nextslide.hide().addClass('activeslide')
		nextThumb.addClass('activeslide')
	    nextslide.fadeIn(500, function(){$.inAnimation = false;});
		nextThumb.find('img').fadeTo(250, 1);
	}
	
	//Slideshow Previous Slide
	function prevslide() {
	    var currentslide = $('#gallery .activeslide');
	    var currentThumb = $('#thumbs .activeslide');
	    currentslide.removeClass('activeslide');
		currentThumb.removeClass('activeslide').find('img').fadeTo(250, 0.25);
		
	    if ( currentslide.length == 0 ) currentslide = $('#gallery a:first');
		if ( currentThumb.length == 0 ) currentThumb = $('#thumbs a:first');
			
	    var nextslide =  currentslide.prev().length ? currentslide.prev() : $('#gallery a:last');
		var nextThumb =  currentThumb.prev().length ? currentThumb.prev() : $('#thumbs a:last');
	    var prevslide =  nextslide.next().length ? nextslide.next() : $('#gallery a:first');
		var prevThumb =  nextThumb.next().length ? nextThumb.next() : $('#thumbs a:first');
		
		$('#gallery .prevslide').removeClass('prevslide');
		$('#thumbs .prevslide').removeClass('prevslide');
		prevslide.addClass('prevslide');
		prevThumb.addClass('prevslide');
		
	    nextslide.hide().addClass('activeslide')
		nextThumb.addClass('activeslide')
	    nextslide.fadeIn(500, function(){$.inAnimation = false;});
		nextThumb.find('img').fadeTo(250, 1);
	}
	
	function getThumbs() {
		
		$('#gallery a').each(function (i) {
			var i = i+1;
			var slideNo = 'slide' + i;
			$(this).attr('class', slideNo);
		
			var thumbs = $('#gallery a > img').clone();
			
			$('#thumbs').html(thumbs);
			$('#thumbs').find('img').wrap('<a>');
			
		});
	};
	getThumbs();
	
	$('#thumbs a:last').css('margin', 0);
	$('#thumbs a').find('img').css("opacity", 0.25).parent().hover(function() {
			$(this).find('img').stop().fadeTo(250, 1);
		},
		function() {
			if ($(this).hasClass('activeslide')) {
				return false;
			}
			$(this).find('img').stop().fadeTo(250, 0.25);
		});
	
	//Thumbs click function
	$('#thumbs a').each(function (i) {
		var i = i+1;
		var slideNo = 'slide' + i;
		var slideIndex = i;
		$(this).attr('class', slideNo);
			
		$('#thumbs .' + slideNo).click(function() {
			if ($(this).hasClass('activeslide')) {
				return false;
			}
			
			var currentslide = $('#gallery .activeslide');
			var currentThumb = $('#thumbs .activeslide');
			currentslide.removeClass('activeslide');
			currentThumb.removeClass('activeslide').find('img').fadeTo(250, 0.25);
			
			if ( currentslide.length == 0 ) currentslide = $('#gallery a:last');
			if ( currentThumb.length == 0 ) currentThumb = $('#thumbs a:last');
					
			var nextslide =  currentslide.next().length ? currentslide.next() : $('#gallery a:first');
			var nextThumb =  currentThumb.next().length ? currentThumb.next() : $('#thumbs a:first');
			var prevslide =  nextslide.prev().length ? nextslide.prev() : $('#gallery a:last');
			var prevThumb =  nextThumb.prev().length ? nextThumb.prev() : $('#thumbs a:last');
			
			$('#gallery .prevslide').removeClass('prevslide');
			$('#thumbs .prevslide').removeClass('prevslide');
			prevslide.addClass('prevslide');
			prevThumb.addClass('prevslide');
			
			$('#gallery .' + slideNo).hide().addClass('activeslide');
			$('#gallery .' + slideNo).fadeIn(500, function() {
				$.inAnimation = false;
			});
			
			$(this).addClass('activeslide');
		});
	});
