/*!
 * Fancy Gallery v1.0
 *
 * Copyright 2011, Rafael Dery
 *
 * Only for sale at the envato marketplaces
 */
 
(function(a){jQuery.fn.fancygallery=function(o){function m(c){e=c;a.fn.prettyPhoto(b.boxOptions);a("#"+e.id+" a").hide();a(e).css({width:b.width,height:b.height}).wrap("<div class='fg-panel' />");a.each(a("#"+e.id+" div"),function(d,f){h[d]=[];a.each(a("#"+f.id+" a img"),function(l,i){h[d][l]={thumb:i.src,image:a(i).parent().attr("href"),title:i.title,description:a(i).parent().find("span").html()?a(i).parent().find("span").html():""}});a(e).append("<a class='menu' href='' title='Open "+f.title+"'>"+
f.title+"</a>").find(".menu:last").click(function(){a(".fg-panel .menu").removeClass("fg-menuSelected ");a(this).addClass("fg-menuSelected ");k(a(".menu").index(this));return false})});a(e).append("<hr />");a(e).append("<a id='fg-prev' href='' title='Previous image stack'></a>").find("#fg-prev").click(function(){a("#"+e.id+" #fg-next").css({visibility:"visible"});--n;r("prev");return false});a(e).append("<a id='fg-next' href='' title='Next image stack'></a>").find("#fg-next").click(function(){a("#"+
e.id+" #fg-prev").css({visibility:"visible"});++n;r("next");return false});a("#fg-prev").css({top:b.height*0.5-a(".fg-panel #fg-prev").height()*0.5});a("#fg-next").css({top:b.height*0.5-a(".fg-panel #fg-next").height()*0.5,left:b.width-a(".fg-panel #fg-next").width()});a(e).append("<div id='fg-thumbHolder'></div>");a(".fg-panel .menu:first").addClass("fg-menuSelected ");k(0)}function k(c){if(j!==c){j=c;g=n=0;p=[];q=[];s=[];for(c=0;c<h[j].length;++c){p[c]=h[j][c].image;q[c]=h[j][c].title;s[c]=h[j][c].description}r("next")}}
function r(c){if(c=="prev")g-=b.imagesPerPage+t;a(".fg-panel #fg-thumbHolder").empty();for(var d=c=0;d<b.imagesPerPage;++d){if(d%b.columns==0&&d!=0)c+=b.thumbHeight+b.rowOffset;a(".fg-panel #fg-thumbHolder").append("<div class='fg-image' style='left:"+(a("#fg-next").width()+a("#fg-prev").width()+10+(b.thumbWidth+b.columnOffset)*(d%b.columns))+"px; top:"+c+"px'><span class='fg-shadow'></span><a href=''><span class='fg-imageBackground'><span class='fg-imageText'>"+q[g]+"</span></span><img src="+h[j][g].thumb+
" /></a></div>");a(".fg-panel #fg-thumbHolder div:last").hide().fadeIn(500+d*200).find("a").hover(function(){$this=a(this);$this.stop().children().stop();$this.find("img").fadeTo(400,1);$this.find(".fg-imageBackground").animate({height:b.thumbHeight+b.titleHeight},400);$this.parent().find(".fg-shadow").animate({top:b.thumbHeight+b.titleHeight},400,function(){var f=[],l=$this.parent().find(".fg-imageText"),i=l.text();l.empty().show();for(d=0;d<i.length;++d){l.append("<span>"+i.charAt(d)+"</span>");
f.push(l.find("span").last().hide())}if(b.textFadeDirection==="reverse")f.reverse();else b.textFadeDirection==="random"&&f.shuffle();for(d in f)a(f[d]).fadeIn(50*d)})},function(){$this=a(this);$this.stop().children().stop();$this.parent().find(".fg-shadow").stop();$this.parent().find(".fg-imageText").hide();$this.find("img").fadeTo(200,b.thumbOpacity);$this.find(".fg-imageBackground").animate({height:b.thumbHeight+b.borderThickness*2},200);$this.parent().find(".fg-shadow").animate({top:b.thumbHeight+
b.shadowOffset},200)}).find(".fg-imageText").hide().parent().parent().find("img").css({opacity:b.thumbOpacity});a(".fg-panel #fg-thumbHolder .fg-imageBackground").css({position:"absolute","background-color":b.backgroundColor,top:-b.borderThickness,left:-b.borderThickness,width:b.thumbWidth+b.borderThickness*2,height:b.thumbHeight+b.borderThickness*2,"float":"left"});a(".fg-panel #fg-thumbHolder .fg-shadow").css({top:b.thumbHeight+b.shadowOffset});a(".fg-panel #fg-thumbHolder div:last").click(function(){a.prettyPhoto.open(p,
q,s,a("#"+e.id+" #fg-thumbHolder div").index(this)+n*b.imagesPerPage);return false});g==p.length-1?a("#fg-next").css({visibility:"hidden"}):a("#fg-next").css({visibility:"visible"});n==0&&a("#fg-prev").css({visibility:"hidden"});++g;if(h[j][g]==null)break}t=g%b.imagesPerPage==0?b.imagesPerPage:g%b.imagesPerPage}var b=a.extend({},a.fn.fancygallery.defaults,o),h=[],j=-1,g=0,t,n=0,e,p,q,s;return this.each(function(){m(this)})};Array.prototype.shuffle=function(){for(var o,m,k=0;k<this.length;k++){m=Math.floor(Math.random()*
this.length);o=this[k];this[k]=this[m];this[m]=o}};a.fn.fancygallery.defaults={width:720,height:600,thumbWidth:250,thumbHeight:100,backgroundColor:"#BFBFBF",borderThickness:3,shadowOffset:-20,columns:2,columnOffset:95,rowOffset:85,thumbOpacity:0.6,titleHeight:40,imagesPerPage:6,textFadeDirection:"normal",boxOptions:{}}})(jQuery);

