window.addEvent("load",function(){
	$$(".gk_is_wrapper-template").each(function(el){
		if(!el.hasClass('activated')) {
			el.addClass('activated');
			var elID = el.getProperty("id");
			var wrapper = $(elID);
			var $G = $Gavick[elID];
			var opacity = $G['text_block_opacity'];
			var thumbs_array = wrapper.getElements('div.gk_is_thumb');
			var slides = [];
			var contents = [];
			var links = [];
			var play = false;
			var $blank = false;
			var loadedImages = (wrapper.getElement('.gk_is_preloader')) ? false : true;
			var fxscr = new Fx.Scroll(el.getElement('.gk_is_thumbs'), {duration: 350, transition: Fx.Transitions.Expo.easeOut});	
			if(!loadedImages){
				var imagesToLoad = [];
				wrapper.getElements('.gk_is_slide').each(function(el,i){
					links.push(el.getFirst().getProperty('href'));
					var newImg = new Element('img',{
						"title":el.getProperty('title'),
						"class":el.getProperty('class'),
						"style":el.getProperty('style')
					});	
					newImg.setProperty('alt',el.getChildren()[1].getProperty('href'));
					el.getChildren()[1].remove();
					newImg.setProperty("src",el.getChildren()[0].getProperty('href'));
					el.getChildren()[0].remove();
					imagesToLoad.push(newImg);
					newImg.injectAfter(el);
					el.remove();
				});	
				var time = (function(){
					var process = 0;				
					imagesToLoad.each(function(el,i){ if(el.complete) process++; });
					
					if(process == imagesToLoad.length){
						$clear(time);
						loadedImages = process;
						(function(){new Fx.Style(wrapper.getElement('.gk_is_preloader'), 'opacity').start(1,0);}).delay(400);
					}
				}).periodical(200);
			}	
			var time_main = (function(){
				if(loadedImages){
					$clear(time_main);	
					wrapper.getElements(".gk_is_slide").each(function(elmt,i){
						slides[i] = elmt;
						if($G['slide_links']){
							elmt.addEvent("click", function(){window.location = elmt.getProperty('alt');});
							elmt.setStyle("cursor", "pointer");
						}
					});	
					slides.each(function(el,i){ if(i != 0) el.setOpacity(0); });	
					if(wrapper.getElement(".gk_is_text")){
						wrapper.getElements(".gk_is_text_item").each(function(elmt,i){ contents[i] = elmt.innerHTML; });
					}	
					$G['actual_slide'] = 0;	
					if(wrapper.getElement(".gk_is_text")) wrapper.getElement(".gk_is_text").innerHTML = contents[0];	
					if($G['autoanim']){
						play = true;
						$G['actual_animation'] = (function(){
							if(play && $blank == false){
								gk_is_style1_anim(wrapper, contents, slides, thumbs_array, $G['actual_slide']+1, $G);
								if(thumbs_array.length) fxscr.toElement(thumbs_array[$G['actual_slide']]);
							}else $blank = false;
						}).periodical($G['anim_interval']+$G['anim_speed']);
					}	
					thumbs_array.each(function(thumb, i){
						thumb.addEvent("click", function(){
							gk_is_style1_anim(wrapper, contents, slides, thumbs_array, i, $G);
							fxscr.toElement(thumbs_array[$G['actual_slide']]);
							$blank = true;
						});
					});	
					if(thumbs_array[0]){
						$pos = 0;
						$slide = 0;	
						$slider = wrapper.getElement('.gk_is_thumbs_slider1');
						$scroller = new Fx.Scroll($slider,{wait:true,duration:300});
						$total = $slider.getSize().size.y;
						$h = ($total+$G['thumbs_space']) / $G['thumbs_amount'];									
						wrapper.getElement('.gk_is_btn_up').addEvent("click", function(){
							if($slide > 0){
								$pos -= $h;
								$slide--;
								$scroller.scrollTo(0, $pos);
							}
						});	
						wrapper.getElement('.gk_is_btn_down').addEvent("click", function(){
							if($slide < thumbs_array.length - $G['thumbs_amount']){
								$pos += $h;
								$slide++;
								$scroller.scrollTo(0, $pos);
							}	
						});
					}
				}
			}).periodical(1000);
		}
	});
});
function gk_is_style1_text_anim(wrapper, contents, which, $G){
	var txt = wrapper.getElement(".gk_is_text");
	new Fx.Style(txt,'opacity',{duration: $G['anim_speed']/2}).start(1,0);
	(function(){
		new Fx.Style(txt,'opacity',{duration: $G['anim_speed']/2}).start(0,1);
		txt.innerHTML = contents[which];
	}).delay($G['anim_speed']);
}
function gk_is_style1_anim(wrapper, contents, slides, thumbs_array, which, $G){
	if(which != $G['actual_slide']){
		var max = slides.length-1;
		if(which > max) which = 0;
		if(which < 0) which = max;
		var actual = $G['actual_slide'];
		$G['actual_slide'] = which;
		slides[$G['actual_slide']].setStyle("z-index",max+1);
		new Fx.Style(slides[actual],'opacity',{duration: $G['anim_speed']}).start(1,0);
		new Fx.Style(slides[which],'opacity',{duration: $G['anim_speed']}).start(0,1);
		if(wrapper.getElement(".gk_is_text")) gk_is_style1_text_anim(wrapper, contents, which, $G);	
		switch($G['anim_type']){
			case 'opacity': break;
			case 'top': new Fx.Style(slides[which],'margin-top',{duration: $G['anim_speed']}).start((-1)*slides[which].getSize().size.y,0);break;
			case 'left': new Fx.Style(slides[which],'margin-left',{duration: $G['anim_speed']}).start((-1)*slides[which].getSize().size.x,0);break;
			case 'bottom': new Fx.Style(slides[which],'margin-top',{duration: $G['anim_speed']}).start(slides[which].getSize().size.y,0);break;
			case 'right': new Fx.Style(slides[which],'margin-left',{duration: $G['anim_speed']}).start(slides[which].getSize().size.x,0);break;
		}
		if(thumbs_array.length){
			thumbs_array[actual].setProperty('class','gk_is_thumb');	
			thumbs_array[which].setProperty('class','gk_is_thumb active');
		}
		(function(){slides[$G['actual_slide']].setStyle("z-index",$G['actual_slide']);}).delay($G['anim_speed']);
	}
}
