/**
 * jQuery.Preload - Multifunctional preloader
 * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com
 * Dual licensed under MIT and GPL.
 * Date: 3/25/2009
 * @author Ariel Flesler
 * @version 1.0.8
 */
;(function($){var h=$.preload=function(c,d){if(c.split)c=$(c);d=$.extend({},h.defaults,d);var f=$.map(c,function(a){if(!a)return;if(a.split)return d.base+a+d.ext;var b=a.src||a.href;if(typeof d.placeholder=='string'&&a.src)a.src=d.placeholder;if(b&&d.find)b=b.replace(d.find,d.replace);return b||null}),data={loaded:0,failed:0,next:0,done:0,total:f.length};if(!data.total)return finish();var g=$(Array(d.threshold+1).join('<img/>')).load(handler).error(handler).bind('abort',handler).each(fetch);function handler(e){data.element=this;data.found=e.type=='load';data.image=this.src;data.index=this.index;var a=data.original=c[this.index];data[data.found?'loaded':'failed']++;data.done++;if(d.enforceCache)h.cache.push($('<img/>').attr('src',data.image)[0]);if(d.placeholder&&a.src)a.src=data.found?data.image:d.notFound||a.src;if(d.onComplete)d.onComplete(data);if(data.done<data.total)fetch(0,this);else{if(g&&g.unbind)g.unbind('load').unbind('error').unbind('abort');g=null;finish()}};function fetch(i,a,b){if(a.attachEvent&&data.next&&data.next%h.gap==0&&!b){setTimeout(function(){fetch(i,a,1)},0);return!1}if(data.next==data.total)return!1;a.index=data.next;a.src=f[data.next++];if(d.onRequest){data.index=a.index;data.element=a;data.image=a.src;data.original=c[data.next-1];d.onRequest(data)}};function finish(){if(d.onFinish)d.onFinish(data)}};h.gap=14;h.cache=[];h.defaults={threshold:2,base:'',ext:'',replace:''};$.fn.preload=function(a){h(this,a);return this}})(jQuery);

/*
Set up the Show Next Random function
Inspired by the Simpleslide function 
*/
$.fn.showNextRandom = function(snr){
	
	// Set your variables here
	
	snr					= snr || {};
	snr.duration		= snr.duration || 4000;
	snr.transition		= snr.transition || 1000;
	snrRandom			= "No"; // 'Yes' or 'yes' will randomize the slideshow (standard)
	snrShowButton		= "No"; // 'Yes' or 'yes' will show Next button (standard)
	snrButtonText		= "More";
	snrWrapper			= ".slider";
	snrSingleSelector	= ".slide";
	
	// No need to edit below this point unless you want to change functionality
	
	var	c = $(this);
	$(snrWrapper,$(c));	
	var s = snrSingleSelector;
	$(s).wrapAll('<div class="snrWrapper" />');
	$(s).css({opacity:0.0,'position':'absolute','z-index':8});
	var l = $(s).length;
	if ( snrRandom == "Yes" || snrRandom == "yes" ) {
		var randomNum = Math.floor(Math.random()*l);
		$(s+':eq(' + randomNum + ')').addClass('snrActive').css({'z-index':10}).animate({opacity: 1.0});
	} else {
		$(s+':first').addClass('snrActive').css({'z-index':10}).animate({opacity: 1.0});	
	}
		
	if ( l.length !== 1 ) {
		
		if ( snrShowButton == "Yes" || snrShowButton == "yes" ) {
			$(snrWrapper).append('<a class="showNextRandom">'+snrButtonText+'</a>');
		}
		
		var snrShowNext;
		
		if ( $(s).length == 2 ) {
			snrShowNext = function() {
				var $active = $(s+".snrActive");		
				var $next;
				
				$next = $(s+':not(".snrActive")');
				$active.addClass('snrLastActive');			
				
				$active.css('z-index','9');
				$next.css({opacity: 0.0}).addClass("snrActive").css('z-index','10').animate({opacity: 1.0}, snr.transition, function(){
					$active.removeClass('snrActive snrLastActive').css('z-index','8');
				});
			};			
		} else {
			snrShowNext = function() {
				var $active = $(s+".snrActive");
				$active.addClass('snrLastActive');
				var $next;
				
				if ( snrRandom == "Yes" || snrRandom == "yes" ) {
					if ( $(s).not('.snrUsed').length !== 2 ) {
						var l = $(s).not('.snrUsed').length;
						var randomNum = Math.floor(Math.random()*l);
						if ( $(s+':eq(' + randomNum + ')').hasClass('snrActive') || $(s+':eq(' + randomNum + ')').hasClass('snrUsed') ) {
							$next = $(s+':not(".snrActive, .snrUsed"):first');
						} else {
							$next = $(s+':eq(' + randomNum + ')');	
						}
					} else {
						$next = $(s+':not(".snrActive, .snrUsed"):first');
						$(s).removeClass('snrUsed');				
					}	
				} else {
					if ( $(s+'.snrActive').next(s).length !== 0 ) {
						$next = $(s+'.snrActive').next(s);
					} else {
						$next = $(s+':first');
						$(s).removeClass('snrUsed');				
					}
				}	
				
				$active.css('z-index','9');
				$next.css({opacity: 0.0}).addClass("snrActive").css('z-index','10').animate({opacity: 1.0}, snr.transition, function(){
					$active.addClass('snrUsed').removeClass('snrActive snrLastActive').css('z-index','8');
				});
			};
		}
	}
	
	var snrRun = window.setInterval(function(){
		snrShowNext();			
	}, snr.duration);
	
	if ( snrShowButton == "Yes" || snrShowButton == "yes" ) {
		$('a.showNextRandom').click(function(){
			window.clearInterval(snrRun);	
			snrShowNext();
			snrRun = window.setInterval(function(){
				snrShowNext();			
			}, snr.duration);
		});
	}
	
};

$(document).ready(function() {
						   
	$('.slide').css({'position':'absolute'});
	
	if ( $(".slider").length != 0 ) {
	
		$(".slider").each(function(i) {
			
			$(this).addClass("slider"+i);
    
			$(".slider"+i).css({opacity:0});
			
			$(".slider"+i+ " .slide img").preload({
				onFinish: function(){
					$(".slider"+i).animate({opacity: 1.0}).showNextRandom();
				}
			});
 	
		});

	}

    $(".case").equalHeights(120);

});
