/********************************************************************/
/* SUPPORTING FUNCTIONS
/********************************************************************/

function $(obj) { return jQuery(obj); }

function pagerFactory(idx, slide) { return '<li><a href="#"><span>'+(idx+1)+'</span></a></li>'; };

function animateHomePage() { $('.homeContent .slideContainer img').animate({ bottom: '0px' }, { duration: 1500, specialEasing: { bottom: 'easeOutBounce' } }); }

/********************************************************************/
/* DOCUMENT READY
/********************************************************************/

$(document).ready( function() {

	// Add Class to Trigger FX on home page
	if($('.homeContent .slideContainer img').length) $('.homeContent .slideContainer img').addClass('hideForFX');
			
	// Handle all external links - send to new window :-)
	if($('A[rel="external"]').length) $('A[rel="external"]').click( function() {
		window.open( $(this).attr('href') );
		return false;	
	});
	if($('A[rel="nofollow external"]').length) $('A[rel="nofollow external"]').click( function() {
		window.open( $(this).attr('href') );
		return false;	
	});
	if($('A[rel="external nofollow"]').length) $('A[rel="external nofollow"]').click( function() {
		window.open( $(this).attr('href') );
		return false;	
	});

             $('#testimonials').cycle({
                fx: 'scrollLeft',
                speed: 2000,
                timeout: 12000,
                prev: '#previous',
                next: '#next'
            });
	
	//jQuery Cycle
	if($('.screenshots').length) { 
    $('.screenshots').each(function() {
  		var $this = $(this), $ss = $this.closest('.folio');
  		var prev = $ss.find('.prev a'), next = $ss.find('.next a');
  		var nav = $ss.find('.nav');
  		$this.cycle({
  			fx:			'scrollLeft',
  			timeout:	0,
  			speedIn:	250,
  			speedOut:	250,
  			prev:		prev,
  			next:		next,
  			pager:		nav,
  			pagerAnchorBuilder: pagerFactory
  		});
  	});
  }
		
	if($('.screenshots a').length) 
  {
    //Custom
    $('.screenshots a').hover(function(){
  		$(this).prepend('<div class="screenshotsOverlay" style="display: none;"><span>Zoom</span></div>');
  		$(this).find('.screenshotsOverlay').fadeIn('fast');
  	}, function() {
  		$(this).find('.screenshotsOverlay').fadeOut('fast', function(){
  			$(this).remove();
  		});
  	});
  	
    //Fancybox
	  $('.screenshots a').fancybox({	'transitionIn' : 'fade', 'transitionOut' : 'fade', 'zoomSpeedIn': 300, 'zoomSpeedOut': 300,'autoScale' : false, 'overlayColor' : '#555555', 'titlePosition' : 'over', 'hideOnContentClick' : true });	
  	
  }
  
	//Fancybox
	if($(".fancybox").length) $('.fancybox').fancybox({	'transitionIn' : 'fade', 'transitionOut' : 'fade', 'zoomSpeedIn': 300, 'zoomSpeedOut': 300,'autoScale' : true, 'overlayColor' : '#555555', 'titlePosition' : 'over', 'hideOnContentClick' : true }); 
	
	//Fancybox
	if($(".fancybox-noresize").length) $('.fancybox-noresize').fancybox({	'transitionIn' : 'fade', 'transitionOut' : 'fade', 'zoomSpeedIn': 300, 'zoomSpeedOut': 300,'autoScale' : true, 'overlayColor' : '#555555', 'titlePosition' : 'over', 'hideOnContentClick' : true }); 
	
	// After all has completed, trigger FX on home page
	if($('.homeContent .slideContainer img').length) setTimeout("animateHomePage()",1000);
	
	// Diagram
	if($(".diagram").length) $(window).scroll(function() { $(".diagram").toggleClass("bottom", $(".diagram").position().top - $(window).scrollTop() < 100); });
	 
});
