(function($) {

	$.fn.preloader = function(options) {
		var settings = $.extend({}, $.fn.preloader.defaults, options);


		return this.each(function() {
			settings.beforeShowAll.call(this);
			var imageHolder = $(this);
			
			var images = imageHolder.find(settings.imgSelector).css({opacity:0, visibility:'hidden'});	
			var count = images.length;
			var showImage = function(image,imageHolder){
				if(image.data.source != undefined){
					imageHolder = image.data.holder;
					image = image.data.source;	
				};
				
				count --;
				if(settings.delay <= 0){
					image.css('visibility','visible').animate({opacity:1}, settings.animSpeed, function(){settings.afterShow.call(this)});
				}
				if(count == 0){
					imageHolder.removeData('count');
					if(settings.delay <= 0){
						settings.afterShowAll.call(this);
					}else{
						if(settings.gradualDelay){
							images.each(function(i,e){
								var image = $(this);
								setTimeout(function(){
									image.css('visibility','visible').animate({opacity:1}, settings.animSpeed, function(){settings.afterShow.call(this)});
								},settings.delay*(i+1));
							});
							setTimeout(function(){settings.afterShowAll.call(imageHolder[0])}, settings.delay*images.length+settings.animSpeed);
						}else{
							setTimeout(function(){
								images.each(function(i,e){
									$(this).css('visibility','visible').animate({opacity:1}, settings.animSpeed, function(){settings.afterShow.call(this)});
								});
								setTimeout(function(){settings.afterShowAll.call(imageHolder[0])}, settings.animSpeed);
							}, settings.delay);
						}
					}
				}
			};
			
			if(count==0){
				settings.afterShowAll.call(this);
			}else{
				images.each(function(i){
					settings.beforeShow.call(this);
				
					image = $(this);
				
					if(this.complete==true){
						showImage(image,imageHolder);
					}else{
						image.bind('error load',{source:image,holder:imageHolder}, showImage);
						if($.browser.opera || ($.browser.msie && parseInt(jQuery.browser.version, 10) == 9 && document.documentMode == 9) 
							|| ($.browser.msie && parseInt(jQuery.browser.version, 10) == 8 && document.documentMode == 8) 
							|| ($.browser.msie && parseInt(jQuery.browser.version, 10) == 7 && document.documentMode == 7)){
							image.trigger("load");//for hidden image
						}
					}
				});
			}
		});
	};


	//Default settings
	$.fn.preloader.defaults = {
		delay:1000,
		gradualDelay:true,
		imgSelector:'img',
		animSpeed:500,
		beforeShowAll: function(){},
		beforeShow: function(){},
		afterShow: function(){},
		afterShowAll: function(){}
	};
})(jQuery);





/* jquery-kwicks: (http://kaptinlin.com/themes/striking/wp-content/themes/striking/js/jquery.kwicks-1.5.1.pack.js) */
/*
	Kwicks for jQuery (version 1.5.1)
	Copyright (c) 2008 Jeremy Martin
	http://www.jeremymartin.name/projects.php?project=kwicks
	
	Licensed under the MIT license:
		http://www.opensource.org/licenses/mit-license.php

	Any and all use of this script must be accompanied by this copyright/license notice in its present form.
*/
(function($){$.fn.kwicks=function(n){var p={isVertical:false,sticky:false,defaultKwick:0,event:'mouseover',spacing:0,duration:500};var o=$.extend(p,n);var q=(o.isVertical?'height':'width');var r=(o.isVertical?'top':'left');return this.each(function(){var container=$(this);var k=container.children('li');var l=k.eq(0).css(q).replace(/px/,'');if(!o.max){o.max=(l*k.size())-(o.min*(k.size()-1))}else{o.min=((l*k.size())-o.max)/(k.size()-1)}if(o.isVertical){container.css({width:k.eq(0).css('width'),height:(l*k.size())+(o.spacing*(k.size()-1))+'px'})}else{container.css({width:(l*k.size())+(o.spacing*(k.size()-1))+'px',height:k.eq(0).css('height')})}var m=[];for(i=0;i<k.size();i++){m[i]=[];for(j=1;j<k.size()-1;j++){if(i==j){m[i][j]=o.isVertical?j*o.min+(j*o.spacing):j*o.min+(j*o.spacing)}else{m[i][j]=(j<=i?(j*o.min):(j-1)*o.min+o.max)+(j*o.spacing)}}}k.each(function(i){var h=$(this);if(i===0){h.css(r,'0px')}else if(i==k.size()-1){h.css(o.isVertical?'bottom':'right','0px')}else{if(o.sticky){h.css(r,m[o.defaultKwick][i])}else{h.css(r,(i*l)+(i*o.spacing))}}if(o.sticky){if(o.defaultKwick==i){h.css(q,o.max+'px');h.addClass('active')}else{h.css(q,o.min+'px')}}h.css({margin:0,position:'absolute'});h.bind(o.event,function(){var c=[];var d=[];k.stop().removeClass('active');for(j=0;j<k.size();j++){c[j]=k.eq(j).css(q).replace(/px/,'');d[j]=k.eq(j).css(r).replace(/px/,'')}var e={};e[q]=o.max;var f=o.max-c[i];var g=c[i]/f;h.addClass('active').animate(e,{step:function(a){var b=f!=0?a/f-g:1;k.each(function(j){if(j!=i){k.eq(j).css(q,c[j]-((c[j]-o.min)*b)+'px')}if(j>0&&j<k.size()-1){k.eq(j).css(r,d[j]-((d[j]-m[i][j])*b)+'px')}})},duration:o.duration,easing:o.easing})})});if(!o.sticky){container.bind("mouseleave",function(){var c=[];var d=[];k.removeClass('active').stop();for(i=0;i<k.size();i++){c[i]=k.eq(i).css(q).replace(/px/,'');d[i]=k.eq(i).css(r).replace(/px/,'')}var e={};e[q]=l;var f=l-c[0];k.eq(0).animate(e,{step:function(a){var b=f!=0?(a-c[0])/f:1;for(i=1;i<k.size();i++){k.eq(i).css(q,c[i]-((c[i]-l)*b)+'px');if(i<k.size()-1){k.eq(i).css(r,d[i]-((d[i]-((i*l)+(i*o.spacing)))*b)+'px')}}},duration:o.duration,easing:o.easing})})}})}})(jQuery);



/* kwicks-init: (http://kaptinlin.com/themes/striking/wp-content/themes/striking/js/kwicksSliderInit.js) */
;jQuery(document).ready(function() {
	var autoplay = true;
	var current = 0;
	var kwicks_items = jQuery('#kwicks li');
    if (kwicks_items.size()!=0) {
	jQuery('#kwicks').preloader({
		delay:500,
		beforeShowAll:function(){
			jQuery(this).kwicks({
				max: slideShow['max'],
				duration: slideShow['duration'],
				easing: slideShow['easing'],
				spacing:0
			});
			jQuery(".kwick_detail",this).width(slideShow['max']-20);
			if(slideShow['title']){
				jQuery(".kwick_title,",this).fadeTo("fast", slideShow['title_opacity']);
			}
			
			jQuery("li",this).append('<div class="kwick_shadow"> </div>').each(function(i){
				jQuery(this).css('z-index',2);
			}).hover(function(e,auto) {
				if( auto!= true ){
					if(slideShow['autoplay']){
						kwicks_items.filter('.auto').removeClass('auto').trigger('mouseout');
						autoplay = false;
					}
				}
				if(slideShow['title']){
					jQuery(".kwick_title").stop().fadeTo(slideShow['title_speed'], 0);
				}
				if(slideShow['detail']){
					jQuery(".kwick_detail",this).stop().fadeTo(slideShow['detail_speed'], slideShow['detail_opacity']);
				}
			},function(){
				if(slideShow['autoplay']){
					autoplay = true;
				}
				if(slideShow['title']){
					jQuery(".kwick_title").stop().fadeTo(slideShow['title_speed'],slideShow['title_opacity']);
				}
				if(slideShow['detail']){
					jQuery(".kwick_detail",this).stop().fadeTo(slideShow['detail_speed'], 0);
				}
			})
			
			jQuery("li:last-child",this).append('<div class="kwick_last_frame"></div>');
		},
		beforeShow:function(){
			jQuery(this).closest('li').addClass('preloading');
		},
		afterShow:function(){
			jQuery(this).closest('li').removeClass('preloading');
		},
		afterShowAll:function(){
			if(slideShow['autoplay']){
				setInterval(function(){
					//console.info(autoplay);
					if(autoplay){
						kwicks_items.eq(current-1).removeClass('auto').trigger('mouseout');
						kwicks_items.eq(current).addClass('auto').trigger('mouseover',[true]);
						current++;
						if(current >= slideShow['number']){
							current = 0;
						}
					}
				},slideShow['pauseTime']);
			}
		}
	});
    };
});





