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 slides = [];

			var contents = [];

			var links = [];

			var play = false;

			var $blank = false;

			var loadedImages = (wrapper.getElement('.gk_is_preloader')) ? false : true;

			var overlay_anim = false;

			

			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.getElementsBySelector(".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")){

						var text_block = wrapper.getElement(".gk_is_text_bg");

						wrapper.getElementsBySelector(".gk_is_text_item").each(function(elmt,i){ contents[i] = elmt.innerHTML; });

					}

					

					$G['actual_slide'] = 0;

					if(wrapper.getElementsBySelector(".gk_is_text")[0]) wrapper.getElementsBySelector(".gk_is_text")[0].innerHTML = contents[0];

					

					if($G['autoanim']){

						play = true;

						$G['actual_animation'] = (function(){

							if(play && $blank == false){

								gk_is_style1_anim(wrapper, contents, slides, $G['actual_slide']+1, $G);

							}else $blank = false;

						}).periodical($G['anim_interval']+$G['anim_speed']);

					}

					

					if(wrapper.getElement('.gk_is_pagination li')){

	    				wrapper.getElement('.gk_is_pagination li').setProperty('class','active');

	    				

	    				wrapper.getElements('.gk_is_pagination li').each(function(el,i){

	    				   el.addEvent('click', function(e){

	    				        new Event(e).stop();

	    				        gk_is_style1_anim(wrapper, contents, slides, i, $G);

	    				        wrapper.getElements('.gk_is_pagination li').setProperty('class','');

	    				        el.setProperty('class','active');

	    				        $blank = true;

	    				   }); 

	    				});

					}

					

					if(wrapper.getElement('.gk_is_text_data')) {

					    overlay_anim = new Fx.Style(wrapper.getElement('.gk_is_overlay'), 'opacity', {duration:300, wait:false }).set(0);

					    

	                    wrapper.getElement('.gk_is_image').addEvent('mouseenter', function(e){

	                        new Event(e).stop();

	                        wrapper.getElement('.gk_is_overlay').setStyle('display','block');

	                        overlay_anim.start(0,1);

	                        wrapper.getElement('.gk_is_overlay').innerHTML = '<div class="gk_is_textover">' + wrapper.getElements('.gk_is_text_data .gk_is_text_item')[$G['actual_slide']].innerHTML + '</div>';

	                        play = false;

	                    });

	                    

	                    wrapper.getElement('.gk_is_image').addEvent('mouseleave', function(e){

	                        new Event(e).stop();

	                        overlay_anim.start(0);

	                        (function(){ wrapper.getElement('.gk_is_overlay').setStyle('display','none'); }).delay(400);

	                        play = true;

	                        $blank = true;

					    });

					}

				}

			}).periodical(250);
		}

	});

});



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, 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;

		}

				

		(function(){slides[$G['actual_slide']].setStyle("z-index",$G['actual_slide']);}).delay($G['anim_speed']);

		

		if(wrapper.getElements('.gk_is_pagination li')) wrapper.getElements('.gk_is_pagination li').setProperty('class','');

        if(wrapper.getElements('.gk_is_pagination li')) wrapper.getElements('.gk_is_pagination li')[which].setProperty('class','active');

	}

}
