/* TRIDA PRO BUBLINY */
var FaderBubbles = new Class({
	item: 0,
	delay: 1000,
	elements: null,
	interactive: false,
	
	initialize: function(opts) {
		for(var key in opts) {
			this[key] = opts[key];
		}
		 
		this.elements.each(this.setDefault.bind(this));
		 
		if(this.interactive) {
		this.elements.each(this.makeInteractive.bind(this));
		}
		 
		this.fadeIn();
		 
		setInterval(this.swap.bind(this), this.delay);
	},
	
	fadeOut: function() {
		this.elements[this.item].fade('out');
	},
 
	fadeIn: function() {
		this.elements[this.item].fade('in');
	},
 
	swap: function () {
		this.fadeOut();
		this.item = this.item + 1 >= this.elements.length ? 0 : this.item + 1;
		this.fadeIn();
	},
	 
	setDefault: function(el) {
		el.set(this.tweenable, this.min);
	},
 
	makeInteractive: function(el) {
		el.addEvent('click', this.swap.bind(this));
	}
});

/* FUNKCE PRO ROZCESTNIK */
var Fader = new Class({
	item: 0,
	delay: 1000,
	elements: null,
	interactive: false,
	
	initialize: function(opts) {
		for(var key in opts) {
			this[key] = opts[key];
		}
		this.elements.each(this.setDefault.bind(this));
		
		if(this.interactive) {
			this.elements.each(this.makeInteractive.bind(this));
		}
		
		this.fadeIn();
		
		/* REPEAT */
		var periodicalID = this.swap.bind(this).periodical(this.delay);
		$clear = function(inter){ clearInterval(inter); };
		$start = function(inter){ periodicalID = this.swap.bind(this).periodical(this.delay); }.bind(this);
		
		$('rozcestnik_kontajner').addEvents({
			mouseenter: function() {
				//temporarily stop
				$clear(periodicalID);
			},
			mouseleave: $start
		  
		});
	},
	
	fadeOut: function() {
		this.elements[this.item].fade('out');
	},
 
	fadeIn: function() {
		this.elements[this.item].fade('in');
	},
 
	swap: function () {
		this.fadeOut();
		this.item = this.item + 1 >= this.elements.length ? 0 : this.item + 1;
		this.fadeIn();
	},
	 
	setDefault: function(el) {
		el.set(this.tweenable, this.min);
	},
 
	makeInteractive: function(el) {
		el.addEvent('click', this.swap.bind(this));
	}
});

window.addEvent('domready',function() {
	/* SCROLLSIDEBAR */
	var size_main_div = $('main_content').getSize();
	var size_slider_div = $('scrollsidebar').getSize();
	var sidebar = new ScrollSidebar('scrollsidebar',{
		offsets: {
			x: 0,
			y: 0
		},
		padding_top: 420,
		padding_bottom: 180,
		main_div_height: size_main_div.y,
		slider_div_height: size_slider_div.y
	});
	
	/* SLIDER REFERENCE */
	new SlideItMoo({
		overallContainer: 'header_reference',
		elementScrolled: 'SlideItMoo_inner',
		thumbsContainer: 'SlideItMoo_items',		
		itemsVisible:3,
		elemsSlide:1,
		duration:500,
		itemsSelector: '.SlideItMoo_element',
		itemWidth: 300,
		showControls:1,
		startIndex:1
	});
	
	// SCROLLSIDEBAR animacia
	/*
	if(document.getElementById('rozcestnik_kontajner')!=null){
	
		//slider variables for making things easier below
		var itemsHolder = $('rozcestnik_kontajner');
		var myItems = $$(itemsHolder.getElements('.item'));
		
		//create instance of the slider, and start it up       
		var mySlider = new SL_Slider({
			slideTimer: 6000,
			transitionTime: 1200,
			orientation: 'vertical',
			fade: true,
			isPaused: false,
			container: itemsHolder,
			items: myItems,
			numNavActive: false
		});
		mySlider.start();
	}*/
	// END: SCROLLSIDEBAR animacia
	
	/* ODKRYTI EMAILU*/
	$$('span[class="hidEmail"]').set('html','@');
	$$('a[class="hidEmail"]').set('href','mailto:tomas@krivanek.eu');
	
	/* DEFINICE PRO ANIMACI ROZCESTNIKU*/
	$('rozcestnikId1').fade('show');
	$('rozcestnikId2').fade('hide');
	$('rozcestnikId3').fade('hide');
	new Fader({ delay: 2000, elements: $$('div.item') });
	new FaderBubbles({ delay: 3000, elements: $$('div.bubbles') });
	new FaderBubbles({ delay: 3000, elements: $$('div.bubbles2') });
	
	/* AKTIVACE <a class="url"> do noveho okna */
	//$$('a.url').set('onclick','window.open(' + $$('a.url').each.get('href') + '); return false');
	$$('a.url').addEvent('click', function(evt) {
		var target = $(evt.target);
		target = target.getParent();
		window.open(target.get('href'));
		return false;
	});
	
	/* NACTENI NEVALIDNICH CSS VLASTNOSTI PRO IE */
	$$('body').set('style','_text-align: center;');
	$('main_frame').set('style','_width: 100%; _height: 100%;');
	$('main_content_left').set('style','_height: 370px;');
});

