
jQuery.FlowerSlide = function() {

	this.animation = false;
	this.flowers = $('.flowers').children().size();
	
	this.slideTime = 1000; // ms
	
	this.slideTimeAuto = 5000; // ms - Interval automatické rotace
	this.slideInterval = setInterval("jQuery.flowerSlide.slideNext(true);", this.slideTimeAuto);
	
	$('td.cat').removeClass('active');
	$('td.cat[id="'+$('#'+$('.center').attr('id')).attr('id')+'-right"]').addClass('active');

	$('div.flowers > div').each(function(index) {
		$(this).attr('rel', $(this).attr('title'));
		$(this).attr('title', '');
	});
}

jQuery.FlowerSlide.prototype.getClasses = function() {

	centerRel = $('.center').attr('rel'); 
	count = $('div.col').size();
	
	this.prev = '#' + $('div[rel="'+((centerRel - 2) <= 0 ? (Number(count) + Number((centerRel - 2))) : (centerRel - 2))+'"]').attr('id');
	this.left = '#' + $('div[rel="'+((centerRel - 1) <= 0 ? (Number(count) + Number((centerRel - 1))) : (centerRel - 1))+'"]').attr('id');
	
	this.center = '#' + $('.center').attr('id');
	
	this.right = '#' + $('div[rel="'+((Number(centerRel) + Number(1)) > Number(count) ? ((Number(centerRel) + Number(1)) - Number(count)) : (Number(centerRel) + Number(1)))+'"]').attr('id');
	this.next = '#' + $('div[rel="'+((Number(centerRel) + Number(2)) > Number(count) ? ((Number(centerRel) + Number(2)) - Number(count)) : (Number(centerRel) + Number(2)))+'"]').attr('id');	
	
	$(this.prev).find('.image').css({ 'width': '180px', 'height': '210px' });
	$(this.prev).find('img').css({ 'width': '180px', 'height': '210px' });

	$(this.left).find('.image').css({ 'width': '180px', 'height': '210px' });
	$(this.left).find('img').css({ 'width': '180px', 'height': '210px' });
	
	$(this.center).find('.image').css({ 'width': '275px', 'height': '320px' });
	$(this.center).find('img').css({ 'width': '275px', 'height': '320px' });
	
	$(this.right).find('.image').css({ 'width': '180px', 'height': '210px' });
	$(this.right).find('img').css({ 'width': '180px', 'height': '210px' });
	
	$(this.next).find('.image').css({ 'width': '180px', 'height': '210px' });
	$(this.next).find('img').css({ 'width': '180px', 'height': '210px' });
}


jQuery.FlowerSlide.prototype.slidePrevious = function(auto) {
	if(!auto){
		clearInterval(this.slideInterval);
	}

	$('#previous').addClass('prev-arr_h');
	
	if(this.animation === false) {
		this.animation = true;
		
		jQuery.flowerSlide.getClasses();

		$('a.displayed').hide();
		$('a.displayed').removeClass('displayed').addClass('hidden');
		
		$('a#'+$(this.right).attr('id')+'-title').fadeIn(750);
		$('a#'+$(this.right).attr('id')+'-title').addClass('displayed');
		
		$('td.cat[id="'+$(this.center).attr('id')+'-right'+'"]').removeClass('active');
		$('td.cat[id="'+$(this.right).attr('id')+'-right'+'"]').addClass('active');

		$(this.left).stop().animate({
			'left': '-274px'
		}, this.slideTime);
		$(this.center).stop().animate({
			'width': '215px',
			'top': '20px',
			'left': '0px'
		}, this.slideTime);
		$(this.right).stop().animate({
			'width': '340px',
			'top': '0px',
			'left': '234px'
		}, this.slideTime);
		
		$(this.next).attr('style', 'left: 797px');
		$(this.next).addClass('right');
		$(this.next).stop().animate({
			'left': '563px'
		}, this.slideTime);
			
		$(this.center).find('.image').stop().animate({
			'width': '180px',
			'height': '210px',
			'margin': '0px',
			'padding': '0px'
		}, this.slideTime);
		$(this.center).find('img').stop().animate({
			'width': '180px',
			'height': '210px'		
		}, this.slideTime);
		$(this.center).find('.price').stop().animate({
			'marginTop': '145px',
			'marginLeft': '135px'
		}, this.slideTime);
		$(this.center).find('.title').stop().animate({
			'marginTop': '197px',
			'marginLeft': '145px'
		}, this.slideTime);		
		
		$(this.right).find('.image').stop().animate({
			'width': '275px',
			'height': '320px',
			'margin': '0px',
			'padding': '0px'
		}, this.slideTime);		
		$(this.right).find('img').stop().animate({
			'width': '275px',
			'height': '320px'
		}, this.slideTime);
		$(this.right).find('.price').stop().animate({
			'marginTop': '225px',
			'marginLeft': '230px'
		}, this.slideTime);
		$(this.right).find('.title').stop().animate({
			'marginTop': '277px',
			'marginLeft': '240px'
		}, this.slideTime);	
		
		setTimeout("jQuery.flowerSlide.changeClassesPrevious();", this.slideTime);
		setTimeout("jQuery.flowerSlide.reorderItems();", this.slideTime + 100);
	}
}

jQuery.FlowerSlide.prototype.slideNext = function(auto) {
	if(!auto) {
		clearInterval(this.slideInterval);
	}
	
	$('#next').addClass('next-arr_h');
	
	if(this.animation === false) {
		this.animation = true;
		
		jQuery.flowerSlide.getClasses();
		
		$('a.displayed').hide();
		$('a.displayed').removeClass('displayed').addClass('hidden');

		$('a#'+$(this.left).attr('id')+'-title').fadeIn(750);
		$('a#'+$(this.left).attr('id')+'-title').addClass('displayed');	
		
		$('td.cat[id="'+$(this.center).attr('id')+'-right'+'"]').removeClass('active');
		$('td.cat[id="'+$(this.left).attr('id')+'-right'+'"]').addClass('active');		
		
		$(this.right).stop().animate({
			'left': '797px'
		}, this.slideTime);
		$(this.center).stop().animate({
			'width': '215px',
			'top': '20px',
			'left': '563px'
		}, this.slideTime);
		$(this.left).stop().animate({
			'width': '340px',
			'top': '0px',
			'left': '234px'
		}, this.slideTime);
		
		$(this.prev).attr('style', 'left: -274px');
		$(this.prev).addClass('left');
		$(this.prev).stop().animate({
			'left': '0px'
		}, this.slideTime);
		
		$(this.center).find('.image').stop().animate({
			'width': '180px',
			'height': '210px',
			'margin': '0px',
			'padding': '0px'
		}, this.slideTime);
		$(this.center).find('img').stop().animate({
			'width': '180px',
			'height': '210px'
		}, this.slideTime);
		$(this.center).find('.price').stop().animate({
			'marginTop': '145px',
			'marginLeft': '135px'
		}, this.slideTime);
		$(this.center).find('.title').stop().animate({
			'marginTop': '197px',
			'marginLeft': '145px'
		}, this.slideTime);		
		
		$(this.left).find('.image').stop().animate({
			'width': '275px',
			'height': '320px',
			'margin': '0px',
			'padding': '0px'
		}, this.slideTime);
		$(this.left).find('img').stop().animate({
			'width': '275px',
			'height': '320px'
		}, this.slideTime);
		$(this.left).find('.price').stop().animate({
			'marginTop': '225px',
			'marginLeft': '230px'
		}, this.slideTime);
		$(this.left).find('.title').stop().animate({
			'marginTop': '277px',
			'marginLeft': '240px'
		}, this.slideTime);	
		
		setTimeout("jQuery.flowerSlide.changeClassesNext();", this.slideTime);
		setTimeout("jQuery.flowerSlide.reorderItems();", this.slideTime + 100);
	}
}

jQuery.FlowerSlide.prototype.changeClassesPrevious = function() {
	$('#previous').removeClass('prev-arr_h');
	
	$(this.prev).removeClass('prev');
	$(this.prev).addClass('next');
	$(this.left).removeClass('left');
	$(this.left).addClass('other');
	$(this.left).addClass('prev');
	$(this.center).removeClass('center');
	$(this.center).addClass('left');
	$(this.right).removeClass('right');
	$(this.right).addClass('center');
	$(this.next).removeClass('next');
	$(this.next).removeClass('other');
	$(this.next).addClass('right');	
}

jQuery.FlowerSlide.prototype.changeClassesNext = function() {
	$('#next').removeClass('next-arr_h');
	
	$(this.prev).removeClass('prev');
	$(this.prev).addClass('left');
	$(this.left).removeClass('left');
	$(this.left).addClass('center');
	$(this.center).removeClass('center');
	$(this.center).addClass('right');
	$(this.right).removeClass('right');
	$(this.right).addClass('next');
	$(this.next).removeClass('next');
	$(this.next).addClass('prev');
}

jQuery.FlowerSlide.prototype.reorderItems = function() {
	if ($('.next').length == 0) {
		$('.flowers').children(':first').addClass('next');
	}
	if ($('.prev').length == 0) {
		$('.flowers').children(':last').addClass('prev');
	}	
	
	this.animation = false;
}

// Project jQuery.
$(document).ready(function() {
	// FlowerSlide na Homepage.
	$(function(){ jQuery.flowerSlide = new jQuery.FlowerSlide(); });
	
	$('#previous').click(function() {
		jQuery.flowerSlide.slidePrevious(false);
	});
	
	$('#next').click(function() {
		jQuery.flowerSlide.slideNext(false);
	});
});

/* */

