var interval = 6; // slideshow interval in seconds
var slideClassName = 'header-pic';
var currentSlide = 0;
var invObj, slideEls;

YUI().use('anim', 'event', function(Y) {
	function init() {
		//Y.one('#hidden_element').set('visibility', '');
		slideShowInit();
		
		if (Shadowbox) {
			Shadowbox.init();
		}
		
		Y.on('mouseover', function(e) {
			var el = e.target;
			var position = el.getStyle('backgroundPosition').replace(/^(-?[0-9]+px) -?[0-9]+px$/, '$1 -36px');
			el.setStyle('backgroundPosition', position);
		}, '#social-media-links .social-media-icon');
		
		Y.on('mouseout', function(e) {
			var el = e.target;
			var position = el.getStyle('backgroundPosition').replace(/^(-?[0-9]+px) -?[0-9]+px$/, '$1 0px');
			el.setStyle('backgroundPosition', position);
		}, '#social-media-links .social-media-icon');

		Y.on('click', function(e) {
			e.preventDefault();
			var slideHeight = 0;
			if (Y.one('#slide-container').get('offsetHeight') === 0) {
				slideHeight = Y.one('#slide-content').get('offsetHeight');
			}
			var anim = new Y.Anim({
				node: '#slide-container',
				to: { height: slideHeight },
				duration: .5
			});
			anim.run();
		}, ['#slide-toggle', '#slide-close-btn']);
		
		Y.on('click', function(e) {
			var el = e.target;
			var space = +el.get('id').replace('media-link-', '');
			var anim = new Y.Anim({
				node: '#media-block-container',
				to: { left: (-660 * (space - 1)) },
				duration: .5
			});
			anim.run();
		}, '.media-link')
	}
	
	// Y.on("domready", init, contexObject, argumentOne, argumentTwo, argumentN);
	Y.on('domready', init);
	
	function slideShowInit() {
		slideEls = Y.all('.'+slideClassName);
		//Y.one('#definitions').setStyle('z-index', slideEls.size()+10);
		slideEls.each(function() {
			if (slideEls.indexOf(this) > 0) {
				this.setStyles({'opacity':0, 'visibility':'visible'});
			}
			this.setStyle('zIndex', slideEls.indexOf(this)+1);
		});
		invObj = setInterval(changeSlide, interval * 1000);
	}
	
	function changeSlide() {
		var nextSlide = currentSlide + 1;
		if (nextSlide >= slideEls.size()) {
			nextSlide = 0;
		}
		slideEls.item(nextSlide).setStyle('zIndex', slideEls.size()+1);
		var slideAnim = new Y.Anim({
			node: slideEls.item(nextSlide),
			to: {opacity: 1},
			duration: 2,
			easing: Y.Easing.easeOut
		});
		slideAnim.on('end', function() {
			slideEls.item(currentSlide).setStyle('opacity', 0);
			slideEls.item(nextSlide).setStyle('zIndex', nextSlide+1);
			currentSlide = nextSlide;
		});
		slideAnim.run();
	}

});