/*
 * Elemis Showcase Plugin
 * Copyright (c) 2011 Elemis Themes
 * Version: 1.0 (March 2011)
 * Created by Marcin Dziewulski - http://playground.mobily.pl
 * You may not modify and/or redistribute this file.
 * http://elemis.iki-bir.com
 * elemisthemes@gmail.com
 */
(function($){$.fn.eShowcase=function(options){var defaults={block_class:'e-showcase-block',link_class:'e-showcase-link',filter_class:'e-showcase-filter',showNav:true,nav_class:'e-showcase-navigation',initial_block:'block_2',animSpeed:500,startCollection:'photograpy',collection_id:'showcase_items'};var s=$.extend({},defaults,options);return this.each(function(){var t=$(this),block=t.find('.'+s.block_class),items;block.hide();showcase={init:function(){showcase.loading();showcase.block.link();showcase.collection.start();showcase.collection.change();if(s.showNav){showcase.nav.create();showcase.nav.previous();showcase.nav.next();showcase.nav.close();}},loading:function(){var count=0,done=false,all=t.find('img').length;t.append($('<div />').addClass('loader'));$('.'+s.block_class).each(function(){var img=new Image,old=$(this).find('img'),src=old.attr('src');count+=old.length;old.css({visibility:'hidden'});$(img).load(function(){old.css({visibility:'visible'});}).attr('src',src)
done=count==all?true:false;});var timer=setInterval(function(){if(done==true){showcase.block.start();t.find('.loader').fadeOut(function(){$(this).remove();});clearInterval(timer);}},400);},block:{start:function(){block.filter('#'+s.initial_block).addClass('active').show();$('#'+s.collection_id).find('a').filter(function(){return $(this).attr('rel')==s.initial_block;}).addClass('active');},change:function(block_id){var current=$('#'+block_id);block.removeClass('active').fadeOut(s.animSpeed);current.addClass('active').fadeIn(s.animSpeed,function(){$.scrollTo(current,500,{axis:'y'});});},link:function(){$('.'+s.link_class).live('click',function(){var a=$(this),rel=a.attr('rel');$('.'+s.link_class).removeClass('active');a.addClass('active');showcase.block.change(rel);return false;});}},nav:{create:function(){t.after('<div class="e-showcase-navigation"><ul><li class="previous">Previous</li><li class="next">Next</li></ul>');},previous:function(){$('.'+s.nav_class).find('.previous').live('click',function(){var a=$('#'+s.collection_id).find('a').filter('.active'),rel=a.attr('rel'),prev=items[($.inArray(rel,items)-1+items.length)%items.length],active=$('.'+s.link_class).filter(function(){return $(this).attr('rel')==prev;});a.removeClass('active');showcase.block.change(prev);active.addClass('active');return false;});},next:function(){$('.'+s.nav_class).find('.next').live('click',function(){var a=$('#'+s.collection_id).find('a').filter('.active'),rel=a.attr('rel'),next=items[($.inArray(rel,items)+1)%items.length],active=$('.'+s.link_class).filter(function(){return $(this).attr('rel')==next;});a.removeClass('active');showcase.block.change(next);active.addClass('active');return false;});},close:function(){$('.'+s.nav_class).find('.close').live('click',function(){var a=$(this),h=block.filter('.active').height()||'465px';if(block.is(':visible')){a.text('Open');block.fadeOut();t.animate({height:0});}else{block.filter('.active').fadeIn();t.animate({height:h});a.text('Close');}
return false;});}},collection:{start:function(){var start=s.startCollection,li=$('#'+s.collection_id).find('li'),collection=li.filter('.'+start),a=$('.'+s.filter_class).find('a').filter(function(){return $(this).attr('rel')==start;});if(start!='all'){li.hide();collection.show();}
a.addClass('active');showcase.collection.arr();},change:function(){$('.'+s.filter_class).find('a').click(function(){var a=$(this),rel=a.attr('rel'),collection=$('#'+s.collection_id),li=collection.find('li');$('.'+s.filter_class).find('a').removeClass('active');a.addClass('active');collection.fadeOut(400,function(){li.hide();if(rel=='all')
li.show();else
li.filter('.'+rel).show();collection.fadeIn();});setTimeout(function(){showcase.collection.arr();},1000);return false;});},arr:function(){items=new Array,li=$('#'+s.collection_id).find('li'),filter=li.filter(function(){return $(this).css('display')!='none';}),filter.each(function(){var t=$(this),anchor=t.find('.'+s.link_class).attr('rel');items.push(anchor);});}}}
showcase.init();});};}(jQuery));
