window.addEvent("load",function(){	
	// Fx.Utils definition - Fx.Opacity and Fx.Height
	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);}});
	// main loop
	$ES(".gk_vm_header").each(function(el, i){
		var preloaded = 0;
		var mouseIsOver = false;
		// handler to main wrapper
		var mainwrap = el;
		// getting main wrapper ID
		var elID = el.getProperty("id");
		// getting shortcut to $Gavick object
		var $G = $Gavick["gk_vm_header-"+elID]; 
		var ItemTab = $ES(".gk_vm_header_item", mainwrap);
		//
		var page = 0;
		//
		if(window.ie) $ES('.gk_vm_header_text_bg', mainwrap).setOpacity($G['opacity']);
		//
		ItemTab.each(function(elm,j){
			var content = $E('.gk_vm_header_content',elm);
			var ef1 = new Fx.Style(content,'top',{duration: $G['anim_speed'],wait: true});
			var ef4 = new Fx.Style(content,'top',{duration: $G['anim_speed'],wait: true});
			var ef2,ef3,ef5,ef6 = false;
			//
			if($E('.gk_vm_header_long',elm)){
				var shortd = $E('.gk_vm_header_short',elm);
				var longd = $E('.gk_vm_header_long',elm);
				ef2 = new Fx.Opacity(shortd,{duration:$G['anim_speed']/2,wait:true});
				ef3 = new Fx.Opacity(longd,{duration:$G['anim_speed']/2,wait:true});
				ef5 = new Fx.Opacity(shortd,{duration:$G['anim_speed']/2,wait:true});
				ef6 = new Fx.Opacity(longd,{duration:$G['anim_speed']/2,wait:true});
				longd.setOpacity(0);
				content.setStyle('top', Math.abs($G['startHeight']-$G['height']) + 'px');
			}
			//
			content.addEvent("mouseenter", function(){
				ef1.start(0);
				if(ef2){ef2.set(0);shortd.setStyle('display','none');ef3.start(1);}
				mouseIsOver = true;
			});
			//
			content.addEvent("mouseleave", function(){
				ef1.stop();
				ef4.start(Math.abs($G['startHeight']-$G['height']));
				if(ef6){ef3.stop();ef6.set(0);shortd.setStyle('display','block');ef5.start(1);}
				mouseIsOver = false;
			});
			//
			if(j+1 > $G['amount']) elm.setOpacity(0);
			//
			if($G['preloading'] == 1){
				var imgSrc = $E('.gk_vm_header_image', elm).innerHTML;
				var img = new Asset.image(imgSrc,{"style":"position: absolute;z-index:0;display:block;","class":"gk_vm_header_image"});
				if(window.ie){
					img.setStyles({
						"position": "absolute",
						"z-index": 0,
						"display": "block"
					});
					img.setProperty("class","gk_vm_header_image");
				}
				//
				img.injectInside(elm);
				$E('.gk_vm_header_image', elm).remove();
				//
				var timer1 = (function(){if(img.complete){
					preloaded++;
					$clear(timer1);
				}}).periodical(250);
			}
		});
		//
		var scrl = new Fx.Scroll(mainwrap, {duration:0});
		//
		if($G["amount"] < $ES('.gk_vm_header_item', el).length)
		{
			var time = (function(){
				if(!mouseIsOver){
					ItemTab.each(function(elmt,j){	
						if(j >= page*$G['amount'] && j < (page+1)*$G['amount']) new Fx.Opacity(elmt,{duration:$G['anim_speed']/2}).start(1,0);
						else new Fx.Opacity(elmt,{duration:$G['anim_speed']/2}).start(0,1);
					});
					//
					page++;
					//
					(function(){
						if(ItemTab[page*$G['amount']]){
						scrl.toElement(ItemTab[page*$G['amount']]);	
					}else{
						scrl.toElement(ItemTab[0]);
						page = 0;
					}}).delay($G['anim_speed']/2);
				}	
			}).periodical($G['anim_interval']+$G['anim_speed']);
		}
		//
		if($G['preloading']){
			var timer2 = (function(){
				if(preloaded == ItemTab.length){
					new Fx.Opacity($E('.gk_vm_header_preloader', mainwrap)).start(0);
					(function(){$E('.gk_vm_header_preloader', mainwrap).remove();}).delay(500);
					$clear(timer2);
				}
			}).periodical(500);
		}
	});		
});