
/*******************************************************************************
*                         Peach Slider - Extended Easy Slider 1.5   		   *
*																	           *
*                    	Configure speed etc using this config file             *
*																	           *
*******************************************************************************/

$(document).ready(function()
{
	/**
	 * Panel Slider
	 */
	
	// Fade in all banners
	$(".slide").css('opacity', '0');
	$(".slide").animate({opacity:'1'},{duration:1000});
	
	// Attach hover event onto each slide for text, to slide up on mouseover and down on mouseout
	$(".slide").hover
	(
		function()
		{
			$(this).children(".text_slider").animate({top:(174-$(this).children(".text_slider").height())+"px"},{queue:false,duration:200});
		}
		,function()
		{
			$(this).children(".text_slider").animate({top:"174px"},{queue:false,duration:400});
		}
	);
	
	// Add peachSlider to sliders, each with different settings
	var all_controlsShow	= false;
	var all_speed			= 800;
	var all_auto			= true;
	var all_pause			= 12000;
	var all_continuous		= true;
	var all_instantStart	= true;
	var all_fastReset		= true;
	var all_easing			= 'easeInOutQuint';
	
	$("#slider1").peachSlider(
	{
		controlsShow:	all_controlsShow,
		speed:			all_speed,
		auto:			all_auto,
		pause:			all_pause,
		continuous:		all_continuous,
		instantStart:	all_instantStart,
		fastReset:		all_fastReset,
		easing:			all_easing,
		initialDelay:	4000
	});
	$("#slider2").peachSlider(
	{
		controlsShow:	all_controlsShow,
		speed:			all_speed,
		auto:			all_auto,
		pause:			all_pause,
		continuous:		all_continuous,
		instantStart:	all_instantStart,
		fastReset:		all_fastReset,
		easing:			all_easing,
		initialDelay:	0,
		vertical:		true
	});
	$("#slider3").peachSlider(
	{
		controlsShow:	all_controlsShow,
		speed:			all_speed,
		auto:			all_auto,
		pause:			all_pause,
		continuous:		all_continuous,
		instantStart:	all_instantStart,
		fastReset:		all_fastReset,
		easing:			all_easing,
		initialDelay:	8000
	});
	$("#slider4").peachSlider(
	{
		controlsShow:	all_controlsShow,
		speed:			all_speed,
		auto:			all_auto,
		pause:			all_pause,
		continuous:		all_continuous,
		instantStart:	all_instantStart,
		fastReset:		all_fastReset,
		easing:			all_easing,
		initialDelay:	2000
	});
	$("#slider5").peachSlider(
	{
		controlsShow:	all_controlsShow,
		speed:			all_speed,
		auto:			all_auto,
		pause:			all_pause,
		continuous:		all_continuous,
		instantStart:	all_instantStart,
		fastReset:		all_fastReset,
		easing:			all_easing,
		initialDelay:	6000,
		vertical: 		true
	});
	$("#slider6").peachSlider(
	{
		controlsShow:	all_controlsShow,
		speed:			all_speed,
		auto:			all_auto,
		pause:			all_pause,
		continuous:		all_continuous,
		instantStart:	all_instantStart,
		fastReset:		all_fastReset,
		easing:			all_easing,
		initialDelay: 	10000
	});
	/**
	 * End Panel Slider
	 */

});

/**************************************************************************************************************************************/

/**
 * Peach Slider - Extended Easy Slider 1.5
 * Modified by Josh Buckley at Giant Peach Design
 * http://www.giantpeachdesign.com
 *
 * Added options: initailDelay, instantStart, fastReset and easing
 * Use $("#slider").peachSlider(); instead of $("#slider").easySlider();
 *
 * See blog post at ... for details
 */

/*
 * 	Easy Slider 1.5 - jQuery plugin
 *	written by Alen Grakalic
 *	
 *
 *	Copyright (c) 2009 Alen Grakalic (http://cssglobe.com)
 *	Dual licensed under the MIT (MIT-LICENSE.txt)
 *	and GPL (GPL-LICENSE.txt) licenses.
 *
 *	Built for jQuery library
 *	http://jquery.com
 *
 */

/*
 *	markup example for $("#slider").easySlider();
 *
 * 	<div id="slider">
 *		<ul>
 *			<li><img src="images/01.jpg" alt="" /></li>
 *			<li><img src="images/02.jpg" alt="" /></li>
 *			<li><img src="images/03.jpg" alt="" /></li>
 *			<li><img src="images/04.jpg" alt="" /></li>
 *			<li><img src="images/05.jpg" alt="" /></li>
 *		</ul>
 *	</div>
 *
 */

(function($) {

	$.fn.peachSlider = function(options){
	
		// default configuration properties
		var defaults = {
			initialDelay:	0,
			instantStart:	false,
			fastReset:		false,
			easing:			'',
			
			prevId: 		'prevBtn',
			prevText: 		'Previous',
			nextId: 		'nextBtn',
			nextText: 		'Next',
			controlsShow:	true,
			controlsBefore:	'',
			controlsAfter:	'',
			controlsFade:	true,
			firstId: 		'firstBtn',
			firstText: 		'First',
			firstShow:		false,
			lastId: 		'lastBtn',
			lastText: 		'Last',
			lastShow:		false,
			vertical:		false,
			speed: 			800,
			auto:			false,
			pause:			2000,
			continuous:		false
		};
		
		var options = $.extend(defaults, options);
		
		this.each(function() {
			var obj = $(this);
			var s = $("li", obj).length;
			var w = $("li", obj).width();
			var h = $("li", obj).height();
			obj.width(w);
			obj.height(h);
			obj.css("overflow","hidden");
			var ts = s-1;
			var t = 0;
			$("ul", obj).css('width',s*w);
			if(!options.vertical) $("li", obj).css('float','left');
			
			if(options.controlsShow){
				var html = options.controlsBefore;
				if(options.firstShow) html += '<span id="'+ options.firstId +'"><a href=\"javascript:void(0);\">'+ options.firstText +'</a></span>';
				html += ' <span id="'+ options.prevId +'"><a href=\"javascript:void(0);\">'+ options.prevText +'</a></span>';
				html += ' <span id="'+ options.nextId +'"><a href=\"javascript:void(0);\">'+ options.nextText +'</a></span>';
				if(options.lastShow) html += ' <span id="'+ options.lastId +'"><a href=\"javascript:void(0);\">'+ options.lastText +'</a></span>';
				html += options.controlsAfter;
				$(obj).after(html);
			};
			
			$("a","#"+options.nextId).click(function(){
				animate("next",true);
			});
			$("a","#"+options.prevId).click(function(){
				animate("prev",true);
			});
			$("a","#"+options.firstId).click(function(){
				animate("first",true);
			});
			$("a","#"+options.lastId).click(function(){
				animate("last",true);
			});
			
			function animate(dir,clicked){
				var ot = t;
				switch(dir){
					case "next":
						t = (ot>=ts) ? (options.continuous ? 0 : ts) : t+1;
						break;
					case "prev":
						t = (t<=0) ? (options.continuous ? ts : 0) : t-1;
						break;
					case "first":
						t = 0;
						break;
					case "last":
						t = ts;
						break;
					default:
						break;
				};
				
				var diff = Math.abs(ot-t);
				var speed = diff*options.speed;
				var modifier = 1;
				if(!options.vertical) {
					p = (t*w*-1);
					if(p == 0 && options.fastReset == true){modifier = ts;}
					$("ul",obj).animate(
						{ marginLeft: p },
						speed/modifier, options.easing
					);
				} else {
					p = (t*h*-1);
					if(p == 0 && options.fastReset == true){modifier = ts;}
					$("ul",obj).animate(
						{ marginTop: p },
						speed/modifier, options.easing
					);
				};
				
				if(!options.continuous && options.controlsFade){
					if(t==ts){
						$("a","#"+options.nextId).hide();
						$("a","#"+options.lastId).hide();
					} else {
						$("a","#"+options.nextId).show();
						$("a","#"+options.lastId).show();
					};
					if(t==0){
						$("a","#"+options.prevId).hide();
						$("a","#"+options.firstId).hide();
					} else {
						$("a","#"+options.prevId).show();
						$("a","#"+options.firstId).show();
					};
				};
				
				if(clicked) clearTimeout(timeout);
				if(options.auto && dir=="next" && !clicked){;
					timeout = setTimeout(function(){
						animate("next",false);
					},diff*options.speed+options.pause);
				};
			
			};
			// init
			setTimeout(function(){
				var timeout;
				if(options.auto){;
					timeout = setTimeout(function(){
						animate("next",false);
					},options.pause*((options.instantStart==true)?0:1));
				};
			},options.initialDelay);
			
			if(!options.continuous && options.controlsFade){
				$("a","#"+options.prevId).hide();
				$("a","#"+options.firstId).hide();
			};
		
		});
	
	};

})(jQuery);
/*******************************************************************************
*                         Peach Slider - Extended Easy Slider 1.5   		   *
*																	           *
*                    	Configure speed etc using this config file             *
*																	           *
*******************************************************************************/

$(document).ready(function()
{
	/**
	 * Panel Slider
	 */
	
	// Fade in all banners
	$(".slide").css('opacity', '0');
	$(".slide").animate({opacity:'1'},{duration:1000});
	
	// Attach hover event onto each slide for text, to slide up on mouseover and down on mouseout
	$(".slide").hover
	(
		function()
		{
			$(this).children(".text_slider").animate({top:(174-$(this).children(".text_slider").height())+"px"},{queue:false,duration:200});
		}
		,function()
		{
			$(this).children(".text_slider").animate({top:"174px"},{queue:false,duration:400});
		}
	);
	
	// Add peachSlider to sliders, each with different settings
	var all_controlsShow	= false;
	var all_speed			= 800;
	var all_auto			= true;
	var all_pause			= 12000;
	var all_continuous		= true;
	var all_instantStart	= true;
	var all_fastReset		= true;
	var all_easing			= 'easeInOutQuint';
	
	$("#slider1").peachSlider(
	{
		controlsShow:	all_controlsShow,
		speed:			all_speed,
		auto:			all_auto,
		pause:			all_pause,
		continuous:		all_continuous,
		instantStart:	all_instantStart,
		fastReset:		all_fastReset,
		easing:			all_easing,
		initialDelay:	4000
	});
	$("#slider2").peachSlider(
	{
		controlsShow:	all_controlsShow,
		speed:			all_speed,
		auto:			all_auto,
		pause:			all_pause,
		continuous:		all_continuous,
		instantStart:	all_instantStart,
		fastReset:		all_fastReset,
		easing:			all_easing,
		initialDelay:	0,
		vertical:		true
	});
	$("#slider3").peachSlider(
	{
		controlsShow:	all_controlsShow,
		speed:			all_speed,
		auto:			all_auto,
		pause:			all_pause,
		continuous:		all_continuous,
		instantStart:	all_instantStart,
		fastReset:		all_fastReset,
		easing:			all_easing,
		initialDelay:	8000
	});
	$("#slider4").peachSlider(
	{
		controlsShow:	all_controlsShow,
		speed:			all_speed,
		auto:			all_auto,
		pause:			all_pause,
		continuous:		all_continuous,
		instantStart:	all_instantStart,
		fastReset:		all_fastReset,
		easing:			all_easing,
		initialDelay:	2000
	});
	$("#slider5").peachSlider(
	{
		controlsShow:	all_controlsShow,
		speed:			all_speed,
		auto:			all_auto,
		pause:			all_pause,
		continuous:		all_continuous,
		instantStart:	all_instantStart,
		fastReset:		all_fastReset,
		easing:			all_easing,
		initialDelay:	6000,
		vertical: 		true
	});
	$("#slider6").peachSlider(
	{
		controlsShow:	all_controlsShow,
		speed:			all_speed,
		auto:			all_auto,
		pause:			all_pause,
		continuous:		all_continuous,
		instantStart:	all_instantStart,
		fastReset:		all_fastReset,
		easing:			all_easing,
		initialDelay: 	10000
	});
	/**
	 * End Panel Slider
	 */

});

/**************************************************************************************************************************************/

/**
 * Peach Slider - Extended Easy Slider 1.5
 * Modified by Josh Buckley at Giant Peach Design
 * http://www.giantpeachdesign.com
 *
 * Added options: initailDelay, instantStart, fastReset and easing
 * Use $("#slider").peachSlider(); instead of $("#slider").easySlider();
 *
 * See blog post at ... for details
 */

/*
 * 	Easy Slider 1.5 - jQuery plugin
 *	written by Alen Grakalic
 *	
 *
 *	Copyright (c) 2009 Alen Grakalic (http://cssglobe.com)
 *	Dual licensed under the MIT (MIT-LICENSE.txt)
 *	and GPL (GPL-LICENSE.txt) licenses.
 *
 *	Built for jQuery library
 *	http://jquery.com
 *
 */

/*
 *	markup example for $("#slider").easySlider();
 *
 * 	<div id="slider">
 *		<ul>
 *			<li><img src="images/01.jpg" alt="" /></li>
 *			<li><img src="images/02.jpg" alt="" /></li>
 *			<li><img src="images/03.jpg" alt="" /></li>
 *			<li><img src="images/04.jpg" alt="" /></li>
 *			<li><img src="images/05.jpg" alt="" /></li>
 *		</ul>
 *	</div>
 *
 */

(function($) {

	$.fn.peachSlider = function(options){
	
		// default configuration properties
		var defaults = {
			initialDelay:	0,
			instantStart:	false,
			fastReset:		false,
			easing:			'',
			
			prevId: 		'prevBtn',
			prevText: 		'Previous',
			nextId: 		'nextBtn',
			nextText: 		'Next',
			controlsShow:	true,
			controlsBefore:	'',
			controlsAfter:	'',
			controlsFade:	true,
			firstId: 		'firstBtn',
			firstText: 		'First',
			firstShow:		false,
			lastId: 		'lastBtn',
			lastText: 		'Last',
			lastShow:		false,
			vertical:		false,
			speed: 			800,
			auto:			false,
			pause:			2000,
			continuous:		false
		};
		
		var options = $.extend(defaults, options);
		
		this.each(function() {
			var obj = $(this);
			var s = $("li", obj).length;
			var w = $("li", obj).width();
			var h = $("li", obj).height();
			obj.width(w);
			obj.height(h);
			obj.css("overflow","hidden");
			var ts = s-1;
			var t = 0;
			$("ul", obj).css('width',s*w);
			if(!options.vertical) $("li", obj).css('float','left');
			
			if(options.controlsShow){
				var html = options.controlsBefore;
				if(options.firstShow) html += '<span id="'+ options.firstId +'"><a href=\"javascript:void(0);\">'+ options.firstText +'</a></span>';
				html += ' <span id="'+ options.prevId +'"><a href=\"javascript:void(0);\">'+ options.prevText +'</a></span>';
				html += ' <span id="'+ options.nextId +'"><a href=\"javascript:void(0);\">'+ options.nextText +'</a></span>';
				if(options.lastShow) html += ' <span id="'+ options.lastId +'"><a href=\"javascript:void(0);\">'+ options.lastText +'</a></span>';
				html += options.controlsAfter;
				$(obj).after(html);
			};
			
			$("a","#"+options.nextId).click(function(){
				animate("next",true);
			});
			$("a","#"+options.prevId).click(function(){
				animate("prev",true);
			});
			$("a","#"+options.firstId).click(function(){
				animate("first",true);
			});
			$("a","#"+options.lastId).click(function(){
				animate("last",true);
			});
			
			function animate(dir,clicked){
				var ot = t;
				switch(dir){
					case "next":
						t = (ot>=ts) ? (options.continuous ? 0 : ts) : t+1;
						break;
					case "prev":
						t = (t<=0) ? (options.continuous ? ts : 0) : t-1;
						break;
					case "first":
						t = 0;
						break;
					case "last":
						t = ts;
						break;
					default:
						break;
				};
				
				var diff = Math.abs(ot-t);
				var speed = diff*options.speed;
				var modifier = 1;
				if(!options.vertical) {
					p = (t*w*-1);
					if(p == 0 && options.fastReset == true){modifier = ts;}
					$("ul",obj).animate(
						{ marginLeft: p },
						speed/modifier, options.easing
					);
				} else {
					p = (t*h*-1);
					if(p == 0 && options.fastReset == true){modifier = ts;}
					$("ul",obj).animate(
						{ marginTop: p },
						speed/modifier, options.easing
					);
				};
				
				if(!options.continuous && options.controlsFade){
					if(t==ts){
						$("a","#"+options.nextId).hide();
						$("a","#"+options.lastId).hide();
					} else {
						$("a","#"+options.nextId).show();
						$("a","#"+options.lastId).show();
					};
					if(t==0){
						$("a","#"+options.prevId).hide();
						$("a","#"+options.firstId).hide();
					} else {
						$("a","#"+options.prevId).show();
						$("a","#"+options.firstId).show();
					};
				};
				
				if(clicked) clearTimeout(timeout);
				if(options.auto && dir=="next" && !clicked){;
					timeout = setTimeout(function(){
						animate("next",false);
					},diff*options.speed+options.pause);
				};
			
			};
			// init
			setTimeout(function(){
				var timeout;
				if(options.auto){;
					timeout = setTimeout(function(){
						animate("next",false);
					},options.pause*((options.instantStart==true)?0:1));
				};
			},options.initialDelay);
			
			if(!options.continuous && options.controlsFade){
				$("a","#"+options.prevId).hide();
				$("a","#"+options.firstId).hide();
			};
		
		});
	
	};

})(jQuery);
