var meelo = meelo || window.meelo || {};

meelo.mouse_sensitive_slideshow = {
	init: function() {
		var self = this;
				
		self._slide_container = $('.slideshow-inner');
		self._slide_image = self._slide_container.children('img');
		self._slide_subimage_links_container = self._slide_container.find('ol');
		self._slide_subimage_links = self._slide_subimage_links_container.find('a');
		self._slide_container_width = self._slide_container.outerWidth();
		self._slide_container_offset = self._slide_container.offset();
		self._slide_container_left = self._slide_container_offset.left;
		self._slide_container_top = self._slide_container_offset.top;
		
		self._movable_elements = self._slide_image.add(self._slide_subimage_links_container);
		
		self._slide_container
			.mouseover(function(e) { self.move(e); })
			.mousemove(function(e) { self.move(e); })
			.mouseout(function(e) { self.stop(); })
			.bind('click',function(e) { self.stop(); });
		
		var image_width = Math.ceil(self._slide_image.width() / self._slide_subimage_links.length);
		
		self._slide_subimage_links_container.css({
			width: self._slide_image.width()
		});
		
		
		self._slide_subimage_links.each(function(i) {
			$(this).css({
				width: image_width,
				left: i * image_width - 1
			});
		});
		
		return this;
	},
	move: function(e /* event */){
		var self = this,
			width = self._slide_container_width,
			left = self._slide_container_left,
			top = self._slide_container_top;

		var from_left = e.pageX - left,
			go_left = (from_left < width / 2),
			go_right = !go_left,
			last_action = self._slide_container.data('last_action');

		if(last_action && last_action === 'left' && go_left
			|| last_action === 'right' && go_right) {
			return; }

		self._movable_elements.stop();
		
		go_left && self._movable_elements.animate({'left': 0 },self._slide_duration);
		go_right && self._movable_elements.animate({'left': - self._slide_image.width() + width },self._slide_duration);

		self._slide_container.data('last_action', go_left && 'left' || 'right' );
		
		return this;
	},
	stop: function(){
		var self = this;
		self._movable_elements.stop();
		self._slide_container.data('last_action',null);
		
		return this;
	},
	_slide_duration: 6000,
	_slide_subimage_links_container: null,
	_slide_subimage_links: null,
	_slide_container: null,
	_slide_image: null,
	_movable_elements: null,
	_slide_container_width: null,
	_slide_container_offset: null,
	_slide_container_left: null,
	_slide_container_top: null
};

$(function() {
	$('body').addClass('has-js');
	
	$('.navigation li').hover(function() {
		var $this = $(this),
			list = $this.data('list') || $this.children('ol,ul');
		
		list.length
			&& list.fadeIn()
			&& $this.data('list',list)
			&& $this.data('hover',true);

	},function() {
		var $this = $(this),
			list = $this.data('list') || $this.children('ol,ul');

		list.length
			&& setTimeout(function(){ !$this.data('hover')	&& list.fadeOut();},300)
			&& $this.data('hover',false);
	});
	
	meelo.mouse_sensitive_slideshow.init();
	
	//FAQ
	(function() {
		if(!/\/el\/themata\-ygeias\/trofikh\-dysanexia\-apanthseis\-erothseis/
			.test(window.location.toString())){
			return; }
		
		var text = $('#primary div.text')
						.addClass('FAQ'),
			description = text.find('h3.description')
						.remove(),
			headings = text.find('h3')
						.addClass('title');
			
			
			headings
				.each(function(i) {
					var $this = $(this),
						n = (i+1),
						ps = $([]);
						
					$this
						.html(n+'. <a name="faq_'+n+'" href="#faq_'+n+'">'+$this.text()+'</a>')
						.nextAll('*').each(function() {
							if($(this).is('h3')) { return false; }
							ps = ps.add(this);
						});
					
					ps.wrapAll('<div class="items"></div>');
				})
				.next('div.items').hide().end()
				.click(function() {
					var $this = $(this),
						visible = $this.hasClass('active');
						
					text.find('div.items:visible')
						.hide()
						.prev('h3.active').removeClass('active');
					
					!visible
						&& $this.next('div.items').show()
						&& $this.addClass('active');
				});
	})();
});