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_is_wrapper-style3").each(function(el){
		var elID = el.getProperty("id");
		var wrapper = $(elID);
		var $G = $Gavick[elID];
		var thumbs_array = $ES('.gk_is_thumbs a', wrapper);
		var images_array = $ES('.gk_is_image', wrapper);
		var popup_initialized = false;
		
		var popup_handler = $E('.gk_is_popup-style3',wrapper);
		if(popup_handler) popup_handler.injectTop(document.body);
		var overlay_handler = $E('.gk_is_overlay-style3',wrapper);
		if(overlay_handler) overlay_handler.injectTop(document.body);
		
		thumbs_array.each(function(elm,j){
			elm.addEvent("click", function(e){
				new Event(e).stop();
				gk_is_s3_popup(popup_handler, $G['width'], $G['height'], overlay_handler, $E('.gk_is_image_path',images_array[j]).innerHTML, $E('.gk_is_text_block', images_array[j]),j,images_array,popup_initialized);
				popup_initialized = true;
			});
		});
	});
});

function gk_is_s3_popup(popup_id, x, y, overlay, image, content, num, images_array, init){
	var p = popup_id;
 	var layer = $E('.overlay',p);
 	var actual = num;
 	var prev = $E('.next',p);
 	var next = $E('.prev',p);
 	
  	prev.setStyle("top",(y - prev.getStyle("height").toInt()) / 2);
	next.setStyle("top",(y - next.getStyle("height").toInt()) / 2);
	layer.setStyle("height",y+"px");
	init = true;
	next.removeEvents("click");
	prev.removeEvents("click");
	    
	next.addEvent("click", function(){
		if(actual == 0) actual = images_array.length - 1;
		else actual--;
		gk_is_s3_popup(popup_id, x, y, overlay, $E('.gk_is_image_path',images_array[actual]).innerHTML, $E('.gk_is_text_block', images_array[actual]), actual, images_array, init);
	});

	prev.addEvent("click", function(){
	    if(actual == images_array.length - 1) actual = 0;
		else actual++;
		gk_is_s3_popup(popup_id, x, y, overlay, $E('.gk_is_image_path',images_array[actual]).innerHTML, $E('.gk_is_text_block', images_array[actual]), actual, images_array, init);
	});
 	
	if(p.getStyle("display") != "block"){
		var img = new Asset.image(image,{onload:function(){
			new Fx.Opacity(layer,{duration:350}).start(0);
			$E('.content',p).empty();
			$(this).injectTop($E('.content',p));
			$E('.text',p).empty();
			if(content){
				$(content).clone().injectTop($E('.text',p));
				$E('.text',p).setStyle("bottom","-"+$E('.text',p).getStyle("height"));
				(function(){new Fx.Style($E('.text',p),'bottom',{duration:350}).start(0);}).delay(1000);
			} 
		}});
		
		p.setStyle("display","block");
		p.setStyle("left",(window.getSize().size.x / 2)+"px");
	  	if(overlay) overlay.setStyle("display","block");
	  
		var fintop = ((window.getSize().size.y / 2) + window.getScrollTop());
	  
		if(window.opera){
			fintop = ((window.innerHeight / 2) + window.getScrollTop());
		}  
		
		new Fx.Style(p,'top',{duration:350}).start(fintop+120,fintop);
		
		new Fx.Opacity(p,{duration:350}).start(1);
		if(overlay) new Fx.Opacity(overlay,{duration:350}).start(0.6);

		p.setStyles({
			"overflow":"hidden",
			"width":"40px",
			"height":"40px"
		});
		
		$E('.m',p).setStyle("display","none");
		
		(function(){
			$E('.m',p).setStyle("display","block");
			new Fx.Styles(p,{duration:200}).start({
				"width":x+40+"px",
				"height":y+40+"px",
				"left":((window.getSize().size.x-(x-40)) / 2)+"px",
				"top":(fintop-((y+40)/2))+"px"
			});
			new Fx.Style($E('.t',p),'width',{duration:200}).start(0,x);
			new Fx.Style($E('.b',p),'width',{duration:200}).start(0,x);
			new Fx.Style($E('.m',p),'width',{duration:200}).start(0,x);
			
			new Fx.Style($E('.m',p),'height',{duration:200}).start(0,y);
			new Fx.Style($E('.ml',p),'height',{duration:200}).start(0,y);
			new Fx.Style($E('.mr',p),'height',{duration:200}).start(0,y);
			
			$E('.close',p).setStyle("opacity",0);
			(function(){new Fx.Opacity($E('.close',p),{duration:350}).start(1);}).delay(350);
			
			$E('.padding',p).setStyle('opacity',0);
			(function(){new Fx.Opacity($E('.padding',p),{duration:350}).start(0,1);}).delay(350);
		}).delay(350);

		$E('.close',p).addEvent("click", function(){
			new Fx.Opacity($E('.close',p),{duration:350}).start(0);
			new Fx.Opacity($E('.padding',p),{duration:350}).start(0);
			(function(){
				new Fx.Style($E('.t', p),'width',{duration:200}).start(x, 0);
				new Fx.Style($E('.b', p),'width',{duration:200}).start(x, 0);
				new Fx.Style($E('.m', p),'width',{duration:200}).start(x, 0);
				
				new Fx.Style($E('.m', p),'height',{duration:200}).start(y, 0);
				new Fx.Style($E('.ml', p),'height',{duration:200}).start(y, 0);
				new Fx.Style($E('.mr', p),'height',{duration:200}).start(y, 0);
				
				new Fx.Styles(p,{duration:200}).start({
					"left":(window.getSize().size.x/2)+"px",
					"top":fintop+"px"
				}); 
				
				(function(){
					new Fx.Opacity(p, {duration:350}).start(0);
					if(overlay) new Fx.Opacity(overlay,{duration:350}).start(0);
				 	new Fx.Styles(p,{duration:350}).start({
						"width":"40px",
						"height":"40px",
						"top":(fintop+120)+"px"
					}); 
					
					(function(){
						p.setStyle("display","none");
						if(overlay) overlay.setStyle("display","none");
					}).delay(350);
				}).delay(200);
			}).delay(200);
		});
	}else{
		new Fx.Opacity(layer,{duration:350}).start(1);
		(function(){
			var img = new Asset.image(image,{onload:function(){
				new Fx.Opacity(layer,{duration:350}).start(0);
				$E('.content',p).empty();
				$(this).injectTop($E('.content',p));
				$E('.text',p).empty();
				if(content){
					$(content).clone().injectTop($E('.text',p));
					$E('.text',p).setStyle("bottom","-"+$E('.text',p).getStyle("height"));
					new Fx.Style($E('.text',p),'bottom',{duration:350}).start(0);
				} 
			}});
		}).delay(350);
	}
}
