/*-----------------------------------------------------------------------------------------------------------------
// Slider /////////////////////////////////////////////////////////////////////////////////////////////////////////
-----------------------------------------------------------------------------------------------------------------*/

/*
* jQuery slider plugin
* Version			: 1.3
* Created by		: Bruno Villa
* Email				: bvillap@yahoo.com
* Created on		: 24 july 2010
* Last Modified 	: 24 july 2010
* URL				: http://themeforest.net/user/Bruno_V
* License			: http://themeforest.net/wiki/support/legal-terms/licensing-terms/
* License according to the one purchased.
*
* This script includes the timer script from http://jquery.offput.ca/every
* This part of the script s not licensed by the single use license.
*
*/
jQuery.fn.extend({everyTime:function(interval,label,fn,times,belay){return this.each(function(){jQuery.timer.add(this,interval,label,fn,times,belay);});},oneTime:function(interval,label,fn){return this.each(function(){jQuery.timer.add(this,interval,label,fn,1);});},stopTime:function(label,fn){return this.each(function(){jQuery.timer.remove(this,label,fn);});}});jQuery.extend({timer:{guid:1,global:{},regex:/^([0-9]+)\s*(.*s)?$/,powers:{'ms':1,'cs':10,'ds':100,'s':1000,'das':10000,'hs':100000,'ks':1000000},timeParse:function(value){if(value==undefined||value==null)
return null;var result=this.regex.exec(jQuery.trim(value.toString()));if(result[2]){var num=parseInt(result[1],10);var mult=this.powers[result[2]]||1;return num*mult;}else{return value;}},add:function(element,interval,label,fn,times,belay){var counter=0;if(jQuery.isFunction(label)){if(!times)
times=fn;fn=label;label=interval;}
interval=jQuery.timer.timeParse(interval);if(typeof interval!='number'||isNaN(interval)||interval<=0)
return;if(times&&times.constructor!=Number){belay=!!times;times=0;}
times=times||0;belay=belay||false;if(!element.$timers)
element.$timers={};if(!element.$timers[label])
element.$timers[label]={};fn.$timerID=fn.$timerID||this.guid++;var handler=function(){if(belay&&this.inProgress)
return;this.inProgress=true;if((++counter>times&&times!==0)||fn.call(element,counter)===false)
jQuery.timer.remove(element,label,fn);this.inProgress=false;};handler.$timerID=fn.$timerID;if(!element.$timers[label][fn.$timerID])
element.$timers[label][fn.$timerID]=window.setInterval(handler,interval);if(!this.global[label])
this.global[label]=[];this.global[label].push(element);},remove:function(element,label,fn){var timers=element.$timers,ret;if(timers){if(!label){for(label in timers)
this.remove(element,label,fn);}else if(timers[label]){if(fn){if(fn.$timerID){window.clearInterval(timers[label][fn.$timerID]);delete timers[label][fn.$timerID];}}else{for(var fn in timers[label]){window.clearInterval(timers[label][fn]);delete timers[label][fn];}}
for(ret in timers[label])break;if(!ret){ret=null;delete timers[label];}}
for(ret in timers)break;if(!ret)
element.$timers=null;}}}});if(jQuery.browser.msie)
jQuery(window).one("unload",function(){var global=jQuery.timer.global;for(var label in global){var els=global[label],i=els.length;while(--i)
jQuery.timer.remove(els[i],label);}});(function(jQuery)
{jQuery.fn.slideshow=function(options)
{settings=jQuery.extend({effect:'fade',effectDuration:800,interval:7000,animateCaptions:false,autoStart:true,fadeControls:false,roundedBorders:false},options);return this.each(function(i)
{var time=settings.interval,speed=settings.effectDuration,autoStart=settings.autoStart,fadeControls=settings.fadeControls;var slider=jQuery(this);slider.wrapInner('<div class="slider-viewport" />');var slide=jQuery('li.slide',slider),slides=slide.size(),slideWidth=slider.width(),index=new Array();index[i]=0;slide.css('width',slideWidth);var slidesWrap=jQuery('ul.slides-wrap',slider).css('width',100*slides+'%'),viewport=jQuery('div.slider-viewport',slider);if(settings.animateCaptions==true)
{var showCaption=function()
{var caption=jQuery('.caption-right, .caption-left, .caption-bottom',slide.eq(index[i]));caption.delay(500).slideDown('slow');},hideCaption=function()
{var caption=jQuery('.caption-right, .caption-left, .caption-bottom',slide.eq(index[i]));caption.css('display','none');};}
else
{var captions=jQuery('.caption-right, .caption-left, .caption-bottom',slider);captions.wrapInner('<div/>').css('display','inline');var showCaption=function(){},hideCaption=function(){};}
if(slides>1)
{if(settings.effect=='slide_x')
{var transitionIn=function()
{slidesWrap.stop().animate({'margin-left':-slideWidth*index[i]},speed,showCaption());},transitionOut=function(){hideCaption()};}
else if(settings.effect=='slide_y')
{var height=viewport.outerHeight();slide.each(function(k)
{if(k>0)jQuery(this).css({'top':height,'right':slideWidth*k});else jQuery(this).css('top',0);});var transitionOut=function(){slide.eq(index[i]).stop().css('z-index',9).animate({'top':height},speed,hideCaption());},transitionIn=function(){slide.eq(index[i]).stop().css('z-index',10).animate({'top':0},speed,showCaption());};}
else
{slide.each(function(k)
{if(k>0)jQuery(this).css({'top':0,'background':'transparent','left':-k*slideWidth,'opacity':0});else jQuery(this).css({'top':0,'background':'transparent','z-index':9});});var transitionOut=function()
{slide.eq(index[i]).stop(true,true).css('z-index',9).animate({'opacity':0},speed,hideCaption());},transitionIn=function()
{slide.eq(index[i]).css('z-index',10).animate({'opacity':1},speed,showCaption());};}
slider.append('<div class="slider-controls" />');var controls=jQuery('.slider-controls',slider);controls.append('<ul class="slider-pagination" />');var pagination=jQuery('.slider-pagination',controls);slide.each(function()
{pagination.append('<li><a href="#"></a></li>');});pagination.find('li').each(function(j)
{jQuery(this).click(function()
{if(index[i]!=j)
{jQuery('.slider-pagination li',slider).eq(index[i]).removeClass('current-index');transitionOut();index[i]=j;transitionIn();jQuery(this).addClass('current-index');}
return false;});})
jQuery('.slider-pagination :first-child').addClass('current-index');var start=function()
{slidesWrap.everyTime(time,'slide',function()
{var pagination_li=jQuery('.slider-pagination li',slider);pagination_li.eq(index[i]).removeClass('current-index');transitionOut();index[i]++;if(index[i]+1>slides)index[i]=0;pagination_li.eq(index[i]).addClass('current-index');transitionIn();});};if(fadeControls)controls.fadeOut();if(autoStart)start();slider.hover(function()
{if(autoStart)slidesWrap.stopTime('slide');if(fadeControls)controls.stop(true,true).fadeIn();},function()
{if(autoStart)start();if(fadeControls)controls.stop(true,true).fadeOut();});}
showCaption();if(settings.roundedBorders)
{viewport.prepend('<span class="slider-tl" />','<span class="slider-tr" />','<span class="slider-bl" />','<span class="slider-br" />');}});};})(jQuery);
