Fx.Height = Fx.Style.extend({
	initialize: function(el, options){
		$(el).setStyle('overflow', 'hidden');
		this.parent(el, 'height', options);},
	toggle: function(){
		var style = this.element.getStyle('height').toInt();
		if (style > 0) return this.start(style, 0);
		else return this.start(0, this.element.scrollHeight);},
	show: function(){return this.set(this.element.scrollHeight);	}});
Fx.Width = Fx.Style.extend({
	initialize: function(el, options){
		this.element = $(el);
		this.element.setStyle('overflow', 'hidden');
		this.iniWidth = this.element.getStyle('width').toInt();
		this.parent(this.element, 'width', options);},
	toggle: function(){
		var style = this.element.getStyle('width').toInt();
		if (style > 0) return this.start(style, 0);
		else return this.start(0, this.iniWidth);	},
	show: function(){return this.set(this.iniWidth);}});
Fx.Opacity = Fx.Style.extend({
	initialize: function(el, options){
		this.now = 1;
		this.parent(el, 'opacity', options);},
	toggle: function(){
		if (this.now > 0) return this.start(1, 0);
		else return this.start(0, 1);},
	show: function(){
		return this.set(1);
}});

// GK IS CODE
animated = false;
function gk_image_slider_init(){
	// zmienne globalne
	aktualnyImg = 1;gk_is_aktualna_animacja = animation_type;
	gk_is_width = $('gk_imageslider_se').getStyle('width').toInt();
	gk_is_height = $('gk_imageslider_se').getStyle('height').toInt();
	// zmienne iteracyjne
	gk_is_iii = 0;gk_is_aaa = 0;
	
	// pokazanie pierwszego diva z trescia
	$A($('gk_imageslider_se').getElements('div')).each(function(element){	
		$A(element.getElements('img')).each(function(element1){
			if(gk_is_iii === 0){element1.setStyle('display','block');}gk_is_iii++;
		});
	});

	gk_is_ilosc_img = gk_is_iii;
	gk_is_timer = (function(){if(animated === true){pokazImgIS('0','next');}}).periodical(animation_interval);
	
	// jeśli uruchomione jest automatyczne odpalanie animacji
	animated = true;
	gk_is_play_anim();
}

// funkcja do pokazywania diva po kliknieciu danego buttona
function pokazImgIS(num,direct){
	if(direct == 'none'){var num1 = aktualnyImg};
	
	if(direct == 'prev'){
		if( (aktualnyImg-1) <= 0 ){var num = gk_is_ilosc_img}else{var num = aktualnyImg-1;}
		var num1 = aktualnyImg;	
	}
	
	if(direct == 'next'){
		if( (aktualnyImg+1) > gk_is_ilosc_img ){var num = 1}else{var num = aktualnyImg+1;}
		var num1 = aktualnyImg;
	}
	
	if( (direct == 'none' && num1 !== num) || (direct !== 'none') ){
		var jjj = 1;
		var kkk = 1;
	
		$A($('gk_imageslider_se').getElements('div')).each(function(element){	
			$A(element.getElements('img')).each(function(element1){
				if(jjj == num1){elementUkrywany = element1;}jjj++;
			});
		});
	
		$A($('gk_imageslider_se').getElements('div')).each(function(element2){	
			$A(element2.getElements('img')).each(function(element3){
				if(kkk == num){elementPokazywany = element3;}kkk++;
			});
		});
			
		switch(gk_is_aktualna_animacja){
			case 1:gk_is_animation_1(num,aktualnyImg,elementPokazywany,elementUkrywany);break;
			case 2:gk_is_animation_2(num,aktualnyImg,elementPokazywany,elementUkrywany,false);break;
			case 3:gk_is_animation_2(num,aktualnyImg,elementPokazywany,elementUkrywany,true);break;
			case 4:gk_is_animation_3(num,aktualnyImg,elementPokazywany,elementUkrywany,false);break;
			case 5:gk_is_animation_3(num,aktualnyImg,elementPokazywany,elementUkrywany,true);break;
			case 6:gk_is_animation_4(num,aktualnyImg,elementPokazywany,elementUkrywany,false);break;
			case 7:gk_is_animation_4(num,aktualnyImg,elementPokazywany,elementUkrywany,true);break;
			case 8:gk_is_animation_5(num,aktualnyImg,elementPokazywany,elementUkrywany,false);break;
			case 9:gk_is_animation_5(num,aktualnyImg,elementPokazywany,elementUkrywany,true);break;
			case 10:gk_is_animation_6(elementPokazywany,elementUkrywany);break;
		}
		aktualnyImg = num;
	}
}

// zatrzymywanie animacji
function gk_is_pause_anim(){animated = false;}
// odtwarzanie animacji
function gk_is_play_anim(){animated = true;}

//
//	Animacje
//

function gk_is_animation_1(num,aktualnyImg,elementPokazywany,elementUkrywany){
	if(num-aktualnyImg>0){
		efekttt2=new Fx.Opacity(elementPokazywany,{duration:800});
		elementPokazywany.setStyle('display','block');
		efekttt2.hide();
		elementPokazywany.setStyle('margin-top',(-1)*gk_is_height);
		efekttt2.toggle();
		(function(){elementUkrywany.setStyle('margin-top',0);}).delay(800);
		(function(){
			efekttt2.show();
			elementUkrywany.setStyle('display','none');
			elementPokazywany.setStyle('margin-top',0);
		}).delay(800);
	}
	else{
		elementPokazywany.setStyle('display','block');
		elementUkrywany.setStyle('margin-top',(-1)*gk_is_height);
		efekttt3=new Fx.Opacity(elementUkrywany,{duration:800});
		elementPokazywany.setStyle('margin-top',(0)*gk_is_height);
		efekttt3.toggle();
		(function(){elementUkrywany.setStyle('margin-top',0);}).delay(800);
		(function(){
			efekttt3.show();
			elementUkrywany.setStyle('display','none');
			elementPokazywany.setStyle('margin-top',0);
		}).delay(800);
	}
}

function gk_is_animation_2(num,aktualnyImg,elementPokazywany,elementUkrywany,bounce){
	if(num-aktualnyImg>0){
		elementPokazywany.setStyle('display','block');
		if(bounce===true){
			effekttt1=new Fx.Style(elementUkrywany,'margin-top',{duration:800,transition:Fx.Transitions.Bounce.easeOut});
			effekttt2=new Fx.Style(elementPokazywany,'margin-top',{duration:800,transition:Fx.Transitions.Bounce.easeOut});
		}
		else{
			effekttt1=new Fx.Style(elementUkrywany,'margin-top',{duration:800});
			effekttt2=new Fx.Style(elementPokazywany,'margin-top',{duration:800});
		}
	
		effekttt1.set(0);
		effekttt2.set(0);
		effekttt1.start(0,(-1)*gk_is_height);
		(function(){
			elementUkrywany.setStyle('display','none');
			elementUkrywany.setStyle('margin-top','0');
			elementPokazywany.setStyle('margin-top','0');
		}).delay(900);
	}
	else{
		elementPokazywany.setStyle('display','block');
		
		if(bounce===true){
			effekttt1=new Fx.Style(elementUkrywany,'margin-top',{duration:800,transition:Fx.Transitions.Bounce.easeOut});
			effekttt2=new Fx.Style(elementPokazywany,'margin-top',{duration:800,transition:Fx.Transitions.Bounce.easeOut});
		}
		else{
			effekttt1=new Fx.Style(elementUkrywany,'margin-top',{duration:800});
			effekttt2=new Fx.Style(elementPokazywany,'margin-top',{duration:800});
		}
		effekttt1.set((-2)*gk_is_height);
		effekttt2.set((1)*gk_is_height);
		effekttt2.start((1)*gk_is_height,0);
		(function(){effekttt1.start((-2)*gk_is_height,(-3)*gk_is_height);}).delay(350);
		(function(){
			elementUkrywany.setStyle('display','none');
			effekttt1.set(0);
			effekttt2.set(0);
		}).delay(1000);
	}
}

function gk_is_animation_3(num,aktualnyImg,elementPokazywany,elementUkrywany,bounce){
	if(num-aktualnyImg>0){
		elementPokazywany.setStyle('display','block');
		if(bounce===true){
			effekttt1=new Fx.Style(elementUkrywany,'margin-top',{duration:800,transition:Fx.Transitions.Bounce.easeOut});
		}
		else{
			effekttt1=new Fx.Style(elementUkrywany,'margin-top',{duration:800});
		}
		effekttt2=new Fx.Style(elementPokazywany,'margin-top');
		effekttt1.set(0);
		effekttt2.set((-2)*gk_is_height);
		effekttt1.start(0,gk_is_height);
		(function(){elementUkrywany.setStyle('display','none');
			elementUkrywany.setStyle('margin-top','0');
			elementPokazywany.setStyle('margin-top','0');
		}).delay(900);
	}
	else{
		elementPokazywany.setStyle('display','block');
		effekttt1=new Fx.Style(elementUkrywany,'margin-top');
		
		if(bounce===true){
			effekttt2=new Fx.Style(elementPokazywany,'margin-top',{duration:900,transition:Fx.Transitions.Bounce.easeOut});
		}
		else{
			effekttt2=new Fx.Style(elementPokazywany,'margin-top',{duration:900});
		}
		effekttt1.set(0);
		effekttt2.set((-1)*gk_is_height);
		effekttt2.start((-1)*gk_is_height,0);
		(function(){
			elementUkrywany.setStyle('display','none');
			effekttt1.set(0);
			effekttt2.set(0);
		}).delay(1000);
	}
}

function gk_is_animation_4(num,aktualnyImg,elementPokazywany,elementUkrywany,bounce){
	if(num-aktualnyImg>0){
		elementPokazywany.setStyle('display','block');
		effekttt1=new Fx.Style(elementUkrywany,'margin-left',{duration:750,onComplete:function(){
			elementPokazywany.setStyle('margin-top',0);
			elementPokazywany.setStyle('margin-left',0);
			elementUkrywany.setStyle('margin-left',0);
			elementUkrywany.setStyle('display','none');
		}});
		
		if(bounce===true){
			effekttt2=new Fx.Style(elementPokazywany,'margin-left',{duration:900,transition:Fx.Transitions.Bounce.easeOut});
		}
		else{
			effekttt2=new Fx.Style(elementPokazywany,'margin-left',{duration:900});
		}
		
		effekttt2.set(gk_is_width);
		elementPokazywany.setStyle('margin-top',(-1)*gk_is_height);
		(function(){effekttt1.start(0,((-1)*gk_is_width)+1);}).delay(150);
		effekttt2.start((1)*gk_is_width,0);
	}
	else{
		elementPokazywany.setStyle('display','block');
		effekttt1=new Fx.Style(elementUkrywany,'margin-left',{duration:550,onComplete:function(){
			elementUkrywany.setStyle('margin-top',0);
			elementPokazywany.setStyle('margin-left',0);
			elementUkrywany.setStyle('margin-left',0);
			elementUkrywany.setStyle('display','none');
		}});
		
		if(bounce===true){
			effekttt2=new Fx.Style(elementPokazywany,'margin-left',{duration:750,transition:Fx.Transitions.Bounce.easeOut});
		}
		else{
			effekttt2=new Fx.Style(elementPokazywany,'margin-left',{duration:900});
		}
		effekttt2.set(gk_is_width);
		elementUkrywany.setStyle('margin-top',(-1)*gk_is_height);
		(function(){effekttt1.start(0,((-1)*gk_is_width)+1);}).delay(150);
		effekttt2.start((1)*gk_is_width,0);
	}
}

function gk_is_animation_5(num,aktualnyImg,elementPokazywany,elementUkrywany,bounce){
	if(num-aktualnyImg>0){
		elementPokazywany.setStyle('display','block');
		elementUkrywany.setStyle('margin-top',0);
		elementPokazywany.setStyle('margin-top',0);
		if(bounce===true){
			effekttt1=new Fx.Style(elementUkrywany,'margin-left',{duration:900,transition:Fx.Transitions.Bounce.easeOut,onComplete:function(){
				elementPokazywany.setStyle('margin-left',0);
				elementUkrywany.setStyle('margin-left',0);
				elementUkrywany.setStyle('display','none');
			}});
		}
		else{
			effekttt1=new Fx.Style(elementUkrywany,'margin-left',{duration:900,onComplete:function(){
				elementPokazywany.setStyle('margin-left',0);
				elementUkrywany.setStyle('margin-left',0);
				elementUkrywany.setStyle('display','none');
			}});
		}
	
		effekttt2=new Fx.Style(elementPokazywany,'margin-left',{duration:900});
		effekttt2.set((-2)*gk_is_width);
	
		if(!window.ie){
			effekttt1.start(1,((0.95)*gk_is_width));
		}
		else{
			effekttt1.start(1,((0.5)*gk_is_width));
		}
	}
	else{
		elementPokazywany.setStyle('display','block');
		elementUkrywany.setStyle('margin-top',0);
		elementPokazywany.setStyle('margin-top',0);
		effekttt1=new Fx.Style(elementUkrywany,'margin-left',{duration:900,onComplete:function(){
			elementPokazywany.setStyle('margin-left',0);
			elementUkrywany.setStyle('margin-left',0);
			elementUkrywany.setStyle('display','none');
		}});
		
		if(bounce===true){
			effekttt2=new Fx.Style(elementPokazywany,'margin-left',{duration:700,transition:Fx.Transitions.Bounce.easeOut});
		}
		else{
			effekttt2=new Fx.Style(elementPokazywany,'margin-left',{duration:900});
		}
	
		effekttt2.set((-1)*gk_is_width+1);
		elementUkrywany.setStyle('margin-top',(-1)*gk_is_height);
		effekttt2.start((-1)*gk_is_width+1,0);
		effekttt1.start(0,((1)*gk_is_width));
	}
}

function gk_is_animation_6(elementPokazywany,elementUkrywany){
	elementUkrywany.setStyle('display','none');
	elementPokazywany.setStyle('display','block');
	elementPokazywany.setStyle('opacity',1);
	elementPokazywany.setStyle('height','');
}

window.addEvent("load",function(){
	gk_image_slider_init();
});