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();return (style > 0) ? this.start(style, 0) : this.start(0, this.element.scrollHeight);},show: function(){return this.set(this.element.scrollHeight);}});Fx.Opacity = Fx.Style.extend({initialize: function(el, options){this.now = 1;this.parent(el, 'opacity', options);},toggle: function(){return (this.now > 0) ? this.start(1, 0) : this.start(0, 1);},show: function(){return this.set(1);}});

window.addEvent("load",function(){
	$$(".gk_news_image_wrapper").each(function(el){

		var elID = el.getProperty("id");
		var wrapper = $(elID);
		var animation_slide_speed = gk_news_image_conf[elID][0];
		var animation_interval = gk_news_image_conf[elID][1];
		var autoanimation = gk_news_image_conf[elID][2];
		var animation_slide_type = gk_news_image_conf[elID][3];
		var animation_text_type = gk_news_image_conf[elID][4];
		var thumbnail_width = gk_news_image_conf[elID][5];
		var thumbnail_margin = gk_news_image_conf[elID][6];
		var thumbnail_border = gk_news_image_conf[elID][7];
		var thumbnail_border_color = gk_news_image_conf[elID][8];
		var base_bgcolor = gk_news_image_conf[elID][9];
		var base_opacity = gk_news_image_conf[elID][10];
		var slides = [];
		var contents = []
		
		if(window.ie){
			if($E(".gk_news_image_text_bg", wrapper)) $E(".gk_news_image_text_bg",wrapper).setOpacity(base_opacity.toFloat());
		}
		
		wrapper.getElementsBySelector(".gk_news_image_slide").each(function(elmt,i){slides[i] = elmt;});
		slides.each(function(el,i){if(i != 0) el.setOpacity(0);});
		
		if(wrapper.getElementsBySelector(".gk_news_image_text_bg").length > 0){
			var text_block = wrapper.getElementsBySelector(".gk_news_image_text_bg")[0];
			wrapper.getElementsBySelector(".gk_news_image_news_text").each(function(elmt,i){contents[i] = elmt.innerHTML;});
		
			if($E('.gk_news_image_tb',wrapper)){
				var thmb_bar = $E('.gk_news_image_tb',wrapper);
				var prev = $E('.gk_news_image_tb_prev',thmb_bar.getParent());
				var next = $E('.gk_news_image_tb_next',thmb_bar.getParent());
				var thumbs_array = $ES('.gk_news_image_thumb',thmb_bar);
				
				var actual_thumb = 0;
				thumbs_array[0].setStyles({"border": thumbnail_border + "px solid " + thumbnail_border_color});
				
				thumbs_array.each(function(el,i){
					el.addEvent("click",function(){
						gk_news_image_anim2(thumbs_array,elID,wrapper,slides,contents,animation_slide_speed,i,animation_text_type,animation_slide_type);
					});
				});
				
	
				if( (thumbs_array.length * (thumbnail_width+(2*thumbnail_margin)+(2*thumbnail_border))) < text_block.getSize().size.x){
					prev.setStyle("display","none");
					next.setStyle("display","none");
					thmb_bar.setStyle("width", text_block.getSize().size.x+"px");
				}
				else{
					var visible_thmb = Math.floor((thmb_bar.getStyle("width").toInt()-(2*thumbnail_margin)) / (thumbnail_width+(2*thumbnail_margin)+(2*thumbnail_border))) - 1;
					var thmb_slider = new Fx.Scroll(thmb_bar,{transition: Fx.Transitions.linear,duration: 50});
					var timer_left;
					var timer_right;
					var position = 0;
				
					prev.addEvent("mouseenter",function(){
						if(position > 0){
							timer_left = (function(){
								if(position > 0){
									position-=5;
									thmb_slider.scrollTo(position,0);
								}
								else{
									$clear(timer_left);
									position = 0;
									thmb_slider.toLeft();
								}
							}).periodical(50);
						}
					});
					
					next.addEvent("mouseenter",function(){
						var xsize = $E(".gk_news_image_tbo",thmb_bar).getSize().size.x;
						if(position < xsize){
							timer_right = (function(){
								if(position < xsize){
									position+=5;
									thmb_slider.scrollTo(position,0);
								}
								else{
									$clear(timer_right);
									position = xsize;
									thmb_slider.toRight();
								}
							}).periodical(50);
						}
					});
					
					prev.addEvent("mouseout",function(){$clear(timer_left);$clear(timer_right);});
					next.addEvent("mouseout",function(){$clear(timer_right);$clear(timer_left);});
				}
				
		
				thumbs_array.each(function(el,i){
					el.addEvent("click",function(){
						thumbs_array.each(function(elmt){elmt.setStyle("border", thumbnail_border + "px solid " + base_bgcolor);});
						el.setStyle("border", thumbnail_border + "px solid " + thumbnail_border_color);
					});
				});
			}
		}
		
	
		if($E('.gk_news_image_interface_buttons',wrapper)){
			var Interface = $E('.gk_news_image_interface_buttons',wrapper);
			Interface.setStyles({
				"left" : wrapper.getSize().size.x - (Interface.getSize().size.x+20),
				"top" : wrapper.getSize().size.y - (Interface.getSize().size.y+20)
			});
		}
		
		if($E(".gk_news_image_prev", wrapper)){
			$E(".gk_news_image_prev", wrapper).addEvent("click",function(e){
				var event = new Event(e);event.preventDefault();
				gk_news_image_anim2(thumbs_array,elID,wrapper,slides,contents,animation_slide_speed,((actual_slide[elID] > 0) ? actual_slide[elID]-1 : slides.length-1),animation_text_type,animation_slide_type);
			});
		}
		
		if($E(".gk_news_image_next", wrapper)){
			$E(".gk_news_image_next", wrapper).addEvent("click",function(e){
				var event = new Event(e);event.preventDefault();
				gk_news_image_anim2(thumbs_array,elID,wrapper,slides,contents,animation_slide_speed,((actual_slide[elID] < slides.length-1) ? actual_slide[elID]+1 : 0),animation_text_type,animation_slide_type);
			});
		}
		
		if($E(".gk_news_image_play", wrapper)){
			$E(".gk_news_image_play", wrapper).addEvent("click",function(e){
				var event = new Event(e);event.preventDefault();
				gk_news_image_anim(wrapper,slides,contents,thumbs_array,elID,animation_interval,animation_slide_speed,"right",true,animation_text_type,animation_slide_type);
				
				$E(".gk_news_image_play", wrapper).setStyle("display","none");
				$E(".gk_news_image_pause", wrapper).setStyle("display","block");
			});
		}
		
		if($E(".gk_news_image_pause", wrapper)){
			$E(".gk_news_image_pause", wrapper).addEvent("click",function(e){
				var event = new Event(e);event.preventDefault();
				gk_news_image_pause(elID);
			});
		}
		
		
		var amount_c = contents.length-1;
		actual_slide[elID] = 0;
		
		if(wrapper.getElementsBySelector(".gk_news_image_text")[0]) wrapper.getElementsBySelector(".gk_news_image_text")[0].innerHTML = contents[0];
		
		if(autoanimation == 1){
			gk_news_image_anim(wrapper,slides,contents,thumbs_array,elID,animation_interval,animation_slide_speed,"right",true,animation_text_type,animation_slide_type);
			if($E(".gk_news_image_play", wrapper)) $E(".gk_news_image_play", wrapper).setStyle("display","none");
		}
		else{
			if($E(".gk_news_image_pause", wrapper)) $E(".gk_news_image_pause", wrapper).setStyle("display","none");
		}
	});
});

function gk_news_image_text_anim(wrapper,contents,as,type,ass){
	var txt = wrapper.getElementsBySelector(".gk_news_image_text")[0];
	if(txt){
		if(type == 0){	
			new Fx.Opacity(txt,{duration: ass/2}).start(1,0);
			(function(){new Fx.Opacity(txt,{duration: ass/2}).start(0,1);txt.innerHTML = contents[as];}).delay(ass);
		}	
		else txt.innerHTML = contents[as];
	}
}

function gk_news_image_anim(wrapper,slides,contents,thumbs_array,elID,ai,ass,direct,play,type,animation_slide_type){
	var max = slides.length-1;
	
	if(!actual_animation_p[elID]){
		actual_animation[elID] = (function(){
		if(direct == "left") var actual_slide2 = (actual_slide[elID] == 0) ? 0 : actual_slide[elID];
		if(direct == "right") var actual_slide2 = (actual_slide[elID] == max) ? max : actual_slide[elID];
		
		if(direct == "left") (actual_slide[elID] == 0) ? actual_slide[elID] = max : actual_slide[elID] -= 1;
		if(direct == "right") (actual_slide[elID] == max) ? actual_slide[elID] = 0 : actual_slide[elID] += 1;
		
		slides[actual_slide[elID]].setStyle("z-index",max+1);
		
		new Fx.Opacity(slides[actual_slide2],{duration: ass}).start(1,0);
		actual_animation_p[elID] = true;
		new Fx.Opacity(slides[actual_slide[elID]],{duration: ass}).start(0,1);
		gk_news_image_text_anim(wrapper,contents,actual_slide[elID],type,ass);	
				
		switch(animation_slide_type){
			case 0: break;
			case 1: new Fx.Style(slides[actual_slide[elID]],'margin-top',{duration: ass}).start((-1)*slides[actual_slide[elID]].getSize().size.y,0);break;
			case 2: new Fx.Style(slides[actual_slide[elID]],'margin-left',{duration: ass}).start((-1)*slides[actual_slide[elID]].getSize().size.x,0);break;
			case 3: new Fx.Style(slides[actual_slide[elID]],'margin-top',{duration: ass}).start(slides[actual_slide[elID]].getSize().size.y,0);break;
			case 4: new Fx.Style(slides[actual_slide[elID]],'margin-left',{duration: ass}).start(slides[actual_slide[elID]].getSize().size.x,0);break;
		}
				
		if(thumbs_array) thumbs_array[actual_slide2].setStyles({"border": gk_news_image_conf[elID][7] + "px solid " + gk_news_image_conf[elID][9]});	
		if(thumbs_array) thumbs_array[actual_slide[elID]].setStyles({"border": gk_news_image_conf[elID][7] + "px solid " + gk_news_image_conf[elID][8]});		
				
		(function(){slides[actual_slide[elID]].setStyle("z-index",actual_slide[elID]);}).delay(ass);
		(function(){actual_animation_p[elID] = false;}).delay(ass);
		
		}).periodical(ass+ai);
		(function(){if(!play) gk_news_image_pause(elID);}).delay(ass+ai);
	}
}

function gk_news_image_anim2(thumbs_array,elID,wrapper,slides,contents,ass,direct,type,animation_slide_type){
	var max = slides.length-1;
	
	if(!actual_animation_p[elID] && direct != actual_slide[elID]){
		var actual_slide2 = actual_slide[elID];
		actual_slide[elID] = direct;
		slides[actual_slide[elID]].setStyle("z-index",max+1);
		
		new Fx.Opacity(slides[actual_slide2],{duration: ass}).start(1,0);
		actual_animation_p[elID] = true;
		new Fx.Opacity(slides[actual_slide[elID]],{duration: ass}).start(0,1);
		gk_news_image_text_anim(wrapper,contents,actual_slide[elID],type,ass);	
				
		switch(animation_slide_type){
			case 0: break;
			case 1: new Fx.Style(slides[actual_slide[elID]],'margin-top',{duration: ass}).start((-1)*slides[actual_slide[elID]].getSize().size.y,0);break;
			case 2: new Fx.Style(slides[actual_slide[elID]],'margin-left',{duration: ass}).start((-1)*slides[actual_slide[elID]].getSize().size.x,0);break;
			case 3: new Fx.Style(slides[actual_slide[elID]],'margin-top',{duration: ass}).start(slides[actual_slide[elID]].getSize().size.y,0);break;
			case 4: new Fx.Style(slides[actual_slide[elID]],'margin-left',{duration: ass}).start(slides[actual_slide[elID]].getSize().size.x,0);break;
		}
				
		if(thumbs_array) thumbs_array[actual_slide2].setStyles({"border": gk_news_image_conf[elID][7] + "px solid " + gk_news_image_conf[elID][9]});	
		if(thumbs_array) thumbs_array[actual_slide[elID]].setStyles({"border": gk_news_image_conf[elID][7] + "px solid " + gk_news_image_conf[elID][8]});	
		
		(function(){slides[actual_slide[elID]].setStyle("z-index",actual_slide[elID]);}).delay(ass);
		(function(){actual_animation_p[elID] = false;}).delay(ass);
		
		gk_news_image_pause(elID);
	}
}

function gk_news_image_pause(elID){
	var wrapper = $(elID);
	$clear(actual_animation[elID]);actual_animation[elID] = false;
	if($E(".gk_news_image_play", wrapper)) $E(".gk_news_image_play", wrapper).setStyle("display","block");
	if($E(".gk_news_image_pause", wrapper))$E(".gk_news_image_pause", wrapper).setStyle("display","none");
}
