/**
 * accueil
 * 
 * Created by Benoît Durand on 19 mai 2009
 * 
 * @author	Benoît Durand
 * @version $Id: accueil.js 202 2009-07-30 14:19:29Z bdurand $
 */

/**
 * Animation to slide between two pairs of products
 * 
 * @param int page
 */
function slide(page) {
	$('.box.green .box-holder').animate({left: page*-447}, "normal", "swing");
}

/**
 * Show next products, and fetches if necessary
 * 
 * @param int page
 * @return int
 */
function getProducts(page) {
	if (page+1 >= products.length) {
		slide(0);
		return 0;
	}
	page++;

	if (page < $('.box.green .product').size()) {
		slide(page);
		return page;
	}

	$.getJSON('/ajax/nextproducts/product1/'+products[page][0]+'/product2/'+products[page][1]+'/format/json',
		function(items) {
			var boxGreen = $('.box.green');
			var newSlide = boxGreen.find('ul:first').clone().appendTo('.box.green .box-holder');
			$('.box.green .box-holder').width($('.box.green .box-holder').width()+447);

			$.each(items.products, function(i, item) {
				var li = newSlide.find('li:nth-child('+(i+1)+')');

				li.find('img').attr('src', item.image);
				li.find('a[href!="#"]').attr('href', item.url);
				li.find('p:first strong').html(item.mark+'<em>'+item.subfamily+'</em>');
				li.find('p:last a').text(item.name);
			});

			slide(page);
		}
	);

	return page;
}

/**
 * Show previous products
 * 
 * @param int page
 * @return int
 */
function previewProducts(page) {
	if (page <= 0) {
		return page;
	}
	page--;
	slide(page);

	return page;
}

$(document).ready(function() {
	var page = 0;

	$('.box.green .preview').click(function() {
		page = previewProducts(page);
		return false;
	});

	$('.box.green .next').click(function() {
		page = getProducts(page);
		return false;
	});

	/*
	 * Attention, ne pas remonter ce block au dessus des sélecteurs 'box green',
	 * car cela génère un effet de bord sur la méthode appendTo() semble-t-il.
	 */
	$('.box.orange .more a').click(function() {
		if ($('.pop-up').length == 1 && $('.pop-up').is(':hidden')) {
			$('.pop-up').show();
		} else if ($('.pop-up').length == 1 && $('.pop-up').is(':visible')) {
			$('.pop-up').hide();
		} else {
			ajax = $.get('/ajax/othermarks/format/html', function(html) {
				$('.pop-up').remove();
				$(html).insertAfter('#wrapper');
				$('.pop-up .top a').click(function() {
					$('.pop-up').hide();
					return false;
				});
				$('.pop-up').show();
			}, 'text');
		}

		return false;
	});
});