/*
	Supersized - Fullscreen Slideshow jQuery Plugin
	Version 3.1.1
	www.buildinternet.com/project/supersized
	
	By Sam Dunn / One Mighty Roar (www.onemightyroar.com)
	Released under MIT License / GPL License
*/
(function(a)
	{
	a(document).ready(function()
		{
		a("body").prepend('<div id="supersized-loader"></div>').prepend('<div id="supersized"></div>')
	}
	);
	a.supersized=function(o)
		{
		var c=
			{
			slideshow:1,autoplay:1,start_slide:1,slide_interval:5000,transition:1,transition_speed:750,new_window:1,pause_hover:0,keyboard_nav:1,performance:1,image_protect:1,image_path:"img/",min_width:0,min_height:0,vertical_center:1,horizontal_center:1,fit_portrait:0,fit_landscape:0,navigation:1,thumbnail_navigation:1,slide_counter:1,slide_captions:1
		};
		var g=a("#supersized");
		var d="#pauseplay";
		if(o)
			{
			var o=a.extend(c,o)
		}
		else
			{
			var o=a.extend(c)
		}
		var b=false;
		var j=false;
		var i=o.image_path;
		if(o.start_slide)
			{
			var h=o.start_slide-1
		}
		else
			{
			var h=Math.floor(Math.random()*o.slides.length)
		}
		var n=o.new_window?' target="_blank"':"";
		if(o.performance==3)
			{
			g.addClass("speed")
		}
		else
			{
			if((o.performance==1)||(o.performance==2))
				{
				g.addClass("quality")
			}
		}
		if(o.slides.length>1)
			{
			h-1<0?loadPrev=o.slides.length-1:loadPrev=h-1;
			var e=(o.slides[loadPrev].url)?"href='"+o.slides[loadPrev].url+"'":"";
			a("<img/>").attr("src",o.slides[loadPrev].image).appendTo(g).wrap("<a "+e+n+"></a>")
		}
		e=(o.slides[h].url)?"href='"+o.slides[h].url+"'":"";
		a("<img/>").attr("src",o.slides[h].image).appendTo(g).wrap('<a class="activeslide" '+e+n+"></a>");
		if(o.slides.length>1)
			{
			h==o.slides.length-1?loadNext=0:loadNext=h+1;
			e=(o.slides[loadNext].url)?"href='"+o.slides[loadNext].url+"'":"";
			a("<img/>").attr("src",o.slides[loadNext].image).appendTo(g).wrap("<a "+e+n+"></a>")
		}
		g.hide();
		a("#controls-wrapper").hide();
		a(window).load(function()
			{
			a("#supersized-loader").hide();
			g.fadeIn("fast");
			a("#controls-wrapper").show();
			if(o.thumbnail_navigation)
				{
				h-1<0?prevThumb=o.slides.length-1:prevThumb=h-1;
				a("#prevthumb").show().html(a("<img/>").attr("src",o.slides[prevThumb].image));
				h==o.slides.length-1?nextThumb=0:nextThumb=h+1;
				a("#nextthumb").show().html(a("<img/>").attr("src",o.slides[nextThumb].image))
			}
			m();
			if(o.slide_captions)
				{
				a("#slidecaption").html("<a href='"+o.slides[h].url+"'>"+o.slides[h].title+"</a>")
			}
			if(!(o.navigation))
				{
				a("#navigation").hide()
			}
			if(o.slideshow&&o.slides.length>1)
				{
				if(o.slide_counter)
					{
					a("#slidecounter .slidenumber").html(h+1);
					a("#slidecounter .totalslides").html(o.slides.length)
				}
				slideshow_interval=setInterval(k,o.slide_interval);
				if(!(o.autoplay))
					{
					clearInterval(slideshow_interval);
					j=true;
					if(a(d).attr("src"))
						{
						a(d).attr("src",i+"play_dull.png")
					}
				}
				if(o.thumbnail_navigation)
					{
					a("#nextthumb").click(function()
						{
						if(b)
							{
							return false
						}
						clearInterval(slideshow_interval);
						k(g,o);
						if(!(j))
							{
							slideshow_interval=setInterval(k,o.slide_interval)
						}
						return false
					}
					);
					a("#prevthumb").click(function()
						{
						if(b)
							{
							return false
						}
						clearInterval(slideshow_interval);
						f(g,o);
						if(!(j))
							{
							slideshow_interval=setInterval(k,o.slide_interval)
						}
						return false
					}
					)
				}
				if(o.navigation)
					{
					a("#navigation a").click(function()
						{
						a(this).blur();
						return false
					}
					);
					a("#nextslide").click(function()
						{
						if(b)
							{
							return false
						}
						clearInterval(slideshow_interval);
						k();
						if(!(j))
							{
							slideshow_interval=setInterval(k,o.slide_interval)
						}
						return false
					}
					);
					if(a("#nextslide").attr("src"))
						{
						a("#nextslide").mousedown(function()
							{
							a(this).attr("src",i+"forward.png")
						}
						);
						a("#nextslide").mouseup(function()
							{
							a(this).attr("src",i+"forward_dull.png")
						}
						);
						a("#nextslide").mouseout(function()
							{
							a(this).attr("src",i+"forward_dull.png")
						}
						)
					}
					a("#prevslide").click(function()
						{
						if(b)
							{
							return false
						}
						clearInterval(slideshow_interval);
						f();
						if(!(j))
							{
							slideshow_interval=setInterval(k,o.slide_interval)
						}
						return false
					}
					);
					if(a("#prevslide").attr("src"))
						{
						a("#prevslide").mousedown(function()
							{
							a(this).attr("src",i+"back.png")
						}
						);
						a("#prevslide").mouseup(function()
							{
							a(this).attr("src",i+"back_dull.png")
						}
						);
						a("#prevslide").mouseout(function()
							{
							a(this).attr("src",i+"back_dull.png")
						}
						)
					}
					a(d).click(function()
						{
						if(b)
							{
							return false
						}
						if(j)
							{
							if(a(d).attr("src"))
								{
								a(d).attr("src",i+"pause_dull.png")
							}
							j=false;
							slideshow_interval=setInterval(k,o.slide_interval)
						}
						else
							{
							if(a(d).attr("src"))
								{
								a(d).attr("src",i+"play_dull.png")
							}
							clearInterval(slideshow_interval);
							j=true
						}
						return false
					}
					)
				}
			}
		}
		);
		if(o.keyboard_nav)
			{
			a(document.documentElement).keydown(function(p)
				{
				if((p.keyCode==37)||(p.keyCode==40))
					{
					if(a("#prevslide").attr("src"))
						{
						a("#prevslide").attr("src",i+"back.png")
					}
				}
				else
					{
					if((p.keyCode==39)||(p.keyCode==38))
						{
						if(a("#nextslide").attr("src"))
							{
							a("#nextslide").attr("src",i+"forward.png")
						}
					}
				}
			}
			);
			a(document.documentElement).keyup(function(p)
				{
				clearInterval(slideshow_interval);
				if((p.keyCode==37)||(p.keyCode==40))
					{
					if(a("#prevslide").attr("src"))
						{
						a("#prevslide").attr("src",i+"back_dull.png")
					}
					if(b)
						{
						return false
					}
					clearInterval(slideshow_interval);
					f();
					if(!(j))
						{
						slideshow_interval=setInterval(k,o.slide_interval)
					}
					return false
				}
				else
					{
					if((p.keyCode==39)||(p.keyCode==38))
						{
						if(a("#nextslide").attr("src"))
							{
							a("#nextslide").attr("src",i+"forward_dull.png")
						}
						if(b)
							{
							return false
						}
						clearInterval(slideshow_interval);
						k();
						if(!(j))
							{
							slideshow_interval=setInterval(k,o.slide_interval)
						}
						return false
					}
					else
						{
						if(p.keyCode==32)
							{
							if(b)
								{
								return false
							}
							if(j)
								{
								if(a(d).attr("src"))
									{
									a(d).attr("src",i+"pause_dull.png")
								}
								j=false;
								slideshow_interval=setInterval(k,o.slide_interval)
							}
							else
								{
								if(a(d).attr("src"))
									{
									a(d).attr("src",i+"play_dull.png")
								}
								j=true
							}
							return false
						}
					}
				}
			}
			)
		}
		if(o.slideshow&&o.pause_hover)
			{
			a(g).hover(function()
				{
				if(b)
					{
					return false
				}
				if(!(j)&&o.navigation)
					{
					if(a(d).attr("src"))
						{
						a(d).attr("src",i+"pause.png")
					}
					clearInterval(slideshow_interval)
				}
			}
			,function()
				{
				if(!(j)&&o.navigation)
					{
					if(a(d).attr("src"))
						{
						a(d).attr("src",i+"pause_dull.png")
					}
					slideshow_interval=setInterval(k,o.slide_interval)
				}
			}
			)
		}
		a(window).resize(function()
			{
			m()
		}
		);
		function m()
			{
			return g.each(function()
				{
				var p=a("img",g);
				a(p).each(function()
					{
					var r=(a(this).height()/a(this).width()).toFixed(2);
					var q=a(window).width();
					var s=a(window).height();
					var t;
					if((s>o.min_height)||(q>o.min_width))
						{
						if((s/q)>r)
							{
							if(o.fit_landscape&&r<=1)
								{
								a(this).width(q);
								a(this).height(q*r)
							}
							else
								{
								a(this).height(s);
								a(this).width(s/r)
							}
						}
						else
							{
							if(o.fit_portrait&&r>1)
								{
								a(this).height(s);
								a(this).width(s/r)
							}
							else
								{
								a(this).width(q);
								a(this).height(q*r)
							}
						}
					}
					if(o.horizontal_center)
						{
						a(this).css("left",(q-a(this).width())/2)
					}
					if(o.vertical_center)
						{
						a(this).css("top",(s-a(this).height())/2)
					}
				}
				);
				if(o.image_protect)
					{
					a("img",g).bind("contextmenu",function()
						{
						return false
					}
					);
					a("img",g).bind("mousedown",function()
						{
						return false
					}
					)
				}
				return false
			}
			)
		}
		function k()
			{
			if(b)
				{
				return false
			}
			else
				{
				b=true
			}
			var r=o.slides;
			var q=g.find(".activeslide");
			q.removeClass("activeslide");
			if(q.length==0)
				{
				q=g.find("a:last")
			}
			var p=q.next().length?q.next():g.find("a:first");
			var s=p.prev().length?p.prev():g.find("a:last");
			a(".prevslide").removeClass("prevslide");
			s.addClass("prevslide");
			h+1==r.length?h=0:h++;
			if(o.performance==1)
				{
				g.removeClass("quality").addClass("speed")
			}
			loadSlide=false;
			h==r.length-1?loadSlide=0:loadSlide=h+1;
			e=(o.slides[loadSlide].url)?"href='"+o.slides[loadSlide].url+"'":"";
			a("<img/>").attr("src",o.slides[loadSlide].image).appendTo(g).wrap("<a "+e+n+"></a>");
			if(o.thumbnail_navigation==1)
				{
				h-1<0?prevThumb=r.length-1:prevThumb=h-1;
				a("#prevthumb").html(a("<img/>").attr("src",o.slides[prevThumb].image));
				nextThumb=loadSlide;
				a("#nextthumb").html(a("<img/>").attr("src",o.slides[nextThumb].image))
			}
			q.prev().remove();
			if(o.slide_counter)
				{
				a("#slidecounter .slidenumber").html(h+1)
			}
			if(o.slide_captions)
				{
				(o.slides[h].title)?a("#slidecaption").html("<a href='"+o.slides[h].url+"'>"+o.slides[h].title+"</a>"):a("#slidecaption").html("")
			}
			p.hide().addClass("activeslide");
			switch(o.transition)
				{
				case 0:p.show();
				b=false;
				break;
				case 1:p.fadeTo(o.transition_speed,1,function()
					{
					l()
				}
				);
				break;
				case 2:p.animate(
					{
					top:-a(window).height()
				}
				,0).show().animate(
					{
					top:0
				}
				,o.transition_speed,function()
					{
					l()
				}
				);
				break;
				case 3:p.animate(
					{
					left:a(window).width()
				}
				,0).show().animate(
					{
					left:0
				}
				,o.transition_speed,function()
					{
					l()
				}
				);
				break;
				case 4:p.animate(
					{
					top:a(window).height()
				}
				,0).show().animate(
					{
					top:0
				}
				,o.transition_speed,function()
					{
					l()
				}
				);
				break;
				case 5:p.animate(
					{
					left:-a(window).width()
				}
				,0).show().animate(
					{
					left:0
				}
				,o.transition_speed,function()
					{
					l()
				}
				);
				break;
				case 6:p.animate(
					{
					left:a(window).width()
				}
				,0).show().animate(
					{
					left:0
				}
				,o.transition_speed,function()
					{
					l()
				}
				);
				q.animate(
					{
					left:-a(window).width()
				}
				,o.transition_speed);
				break;
				case 7:p.animate(
					{
					left:-a(window).width()
				}
				,0).show().animate(
					{
					left:0
				}
				,o.transition_speed,function()
					{
					l()
				}
				);
				q.animate(
					{
					left:a(window).width()
				}
				,o.transition_speed);
				break
			}
		}
		function f()
			{
			if(b)
				{
				return false
			}
			else
				{
				b=true
			}
			var r=o.slides;
			var q=g.find(".activeslide");
			q.removeClass("activeslide");
			if(q.length==0)
				{
				q=a(g).find("a:first")
			}
			var p=q.prev().length?q.prev():a(g).find("a:last");
			var s=p.next().length?p.next():a(g).find("a:first");
			a(".prevslide").removeClass("prevslide");
			s.addClass("prevslide");
			h==0?h=r.length-1:h--;
			if(o.performance==1)
				{
				g.removeClass("quality").addClass("speed")
			}
			loadSlide=false;
			h-1<0?loadSlide=r.length-1:loadSlide=h-1;
			e=(o.slides[loadSlide].url)?"href='"+o.slides[loadSlide].url+"'":"";
			a("<img/>").attr("src",o.slides[loadSlide].image).prependTo(g).wrap("<a "+e+n+"></a>");
			if(o.thumbnail_navigation==1)
				{
				prevThumb=loadSlide;
				a("#prevthumb").html(a("<img/>").attr("src",o.slides[prevThumb].image));
				h==r.length-1?nextThumb=0:nextThumb=h+1;
				a("#nextthumb").html(a("<img/>").attr("src",o.slides[nextThumb].image))
			}
			q.next().remove();
			if(o.slide_counter)
				{
				a("#slidecounter .slidenumber").html(h+1)
			}
			if(o.slide_captions)
				{
				(o.slides[h].title)?a("#slidecaption").html("<a href='"+o.slides[h].url+"'>"+o.slides[h].title+"</a>"):a("#slidecaption").html("")
			}
			p.hide().addClass("activeslide");
			switch(o.transition)
				{
				case 0:p.show();
				b=false;
				break;
				case 1:p.fadeTo(o.transition_speed,1,function()
					{
					l()
				}
				);
				break;
				case 2:p.animate(
					{
					top:a(window).height()
				}
				,0).show().animate(
					{
					top:0
				}
				,o.transition_speed,function()
					{
					l()
				}
				);
				break;
				case 3:p.animate(
					{
					left:-a(window).width()
				}
				,0).show().animate(
					{
					left:0
				}
				,o.transition_speed,function()
					{
					l()
				}
				);
				break;
				case 4:p.animate(
					{
					top:-a(window).height()
				}
				,0).show().animate(
					{
					top:0
				}
				,o.transition_speed,function()
					{
					l()
				}
				);
				break;
				case 5:p.animate(
					{
					left:a(window).width()
				}
				,0).show().animate(
					{
					left:0
				}
				,o.transition_speed,function()
					{
					l()
				}
				);
				break;
				case 6:p.animate(
					{
					left:-a(window).width()
				}
				,0).show().animate(
					{
					left:0
				}
				,o.transition_speed,function()
					{
					l()
				}
				);
				q.animate(
					{
					left:a(window).width()
				}
				,o.transition_speed);
				break;
				case 7:p.animate(
					{
					left:a(window).width()
				}
				,0).show().animate(
					{
					left:0
				}
				,o.transition_speed,function()
					{
					l()
				}
				);
				q.animate(
					{
					left:-a(window).width()
				}
				,o.transition_speed);
				break
			}
		}
		function l()
			{
			b=false;
			if(o.performance==1)
				{
				g.removeClass("speed").addClass("quality")
			}
			m()
		}
	}
}
)(jQuery);

