function ep_nav_horizontal(selector, limit, selector_up, selector_down, action_nb, anim_timer) {
	list = $(selector);
	// Initialize
	if (list.attr('class').indexOf('ep_nav_initialized') == -1) {
		list_li = list.find('li:first');
		li_size_width = list_li.outerWidth(true);
		li_size_height = list_li.outerHeight(true);
		ul_newsize_width = (li_size_width * limit) + 'px';
		ul_newsize_height = (li_size_height) + 'px';
		list.css('overflow', 'hidden').css('width', ul_newsize_width).css('height', ul_newsize_height);
		list.addClass('ep_nav_initialized');
	}
	ep_nav_horizontal_act_active = false;
	// Add actions
	$(selector_up).bind('click', {selector: selector, selector_limit: limit, action_nb: action_nb, selector_up: selector_up, selector_down: selector_down, anim_timer: anim_timer}, function(func) {
		ep_nav_horizontal_act('up', func.data.selector, func.data.selector_limit, func.data.action_nb, 1, func.data.selector_up, func.data.selector_down, func.data.anim_timer);
	});
	$(selector_down).bind('click', {selector: selector, selector_limit: limit, action_nb: action_nb, selector_up: selector_up, selector_down: selector_down, anim_timer: anim_timer}, function(func) {
		ep_nav_horizontal_act('down', func.data.selector, func.data.selector_limit, func.data.action_nb, 1, func.data.selector_up, func.data.selector_down, func.data.anim_timer);
	});
}
function ep_nav_horizontal_act(action, selector, selector_limit, action_nb, list_li_currentX, selector_up, selector_down, anim_timer) {
	if (ep_nav_horizontal_act_active) return true;
	ep_nav_horizontal_act_active = true;
	
	list = $(selector);
	// find the first visible ID
	list_li_visible = list.find('li:visible');
	list_li_visible_params = {width: (list_li_visible.css('width')),
		marginLeft: (list_li_visible.css('margin-left')),
		marginRight: (list_li_visible.css('margin-right')),
		paddingLeft: (list_li_visible.css('padding-left')),
		paddingRight: (list_li_visible.css('padding-right')),
		borderLeftWidth: (list_li_visible.css('border-left-width')),
		borderRightWidth: (list_li_visible.css('border-right-width'))
	}
	
	// action
	var list_lis = list.find('li');
	var list_lis_nb = list_lis.length;
	var list_liX_min_old = list_liX_min;
	var list_liX_max_old = list_liX_max;
	if (action == 'up') {
		var list_liX_min = list_li_currentX + action_nb;
		var list_liX_max = list_liX_min + selector_limit - 1;
		if (list_liX_max > list_lis_nb) {
			diff = list_liX_max - list_lis_nb;
			list_liX_min -= diff;
			list_liX_max -= diff;
		}
	} else {
		var list_liX_min = list_li_currentX - action_nb;
		var list_liX_max = list_liX_min + selector_limit - 1;
		if (list_liX_min <= 0) {
			list_liX_min = 1;
			list_liX_max = selector_limit;
		}
	}
	if (typeof(list_li_first_old) == 'undefined') {
		var change_action = true;
	} else {
		var change_action = false;
		var change_action_idsaved = false;
	}
	var list_liX = 0;
	list_lis.each(function() {	
		anim_params = {};
		list_liX++;
		if (list_liX >= list_liX_min && list_liX <= list_liX_max) {
			//if (list_li_where == 'before') list_li_where = 'after';
			anim_params = {width: list_li_visible_params.width,
			marginLeft: list_li_visible_params.marginLeft,
			marginRight: list_li_visible_params.marginRight,
			paddingLeft: list_li_visible_params.paddingLeft,
			paddingRight: list_li_visible_params.paddingRight,
			borderLeftWidth: list_li_visible_params.borderLeftWidth,
			borderRightWidth: list_li_visible_params.borderRightWidth,
			opacity: 100};
			$(this).animate(anim_params, anim_timer, function() {
				if (list_liX == list_lis_nb) ep_nav_horizontal_act_active = false;
			});
			if (!change_action_idsaved) {
				if (!change_action && list_li_first_old != list_liX) {
					change_action = true;
				}
				change_action_idsaved = true;
				list_li_first_old = list_liX;
			}
		} else {
			anim_params = {width: 0,
			marginLeft: 0,
			marginRight: 0,
			paddingLeft: 0,
			paddingRight: 0,
			borderLeftWidth: 0,
			borderRightWidth: 0,
			opacity: 0};
			$(this).animate(anim_params, anim_timer, function() {
				$(this).hide();
				if (list_liX == list_lis_nb) ep_nav_horizontal_act_active = false;
			});
		}
	});
	if (change_action) {
		if (action == 'up') {
			list_li_currentnewX = list_li_currentX + action_nb;
		} else {
			list_li_currentnewX = list_li_currentX - action_nb;
		}
		$(selector_up).unbind('click');
		$(selector_up).bind('click', {selector: selector, action_nb: action_nb, selector_limit: selector_limit, list_li_currentnewX: list_li_currentnewX, selector_up: selector_up, selector_down: selector_down}, function(func) {
			ep_nav_horizontal_act('up', func.data.selector, func.data.selector_limit, func.data.action_nb, func.data.list_li_currentnewX, func.data.selector_up, func.data.selector_down);
		});
		$(selector_down).unbind('click');
		$(selector_down).bind('click', {selector: selector, action_nb: action_nb, selector_limit: selector_limit, list_li_currentnewX: list_li_currentnewX, selector_up: selector_up, selector_down: selector_down}, function(func) {
			ep_nav_horizontal_act('down', func.data.selector, func.data.selector_limit, func.data.action_nb, func.data.list_li_currentnewX, func.data.selector_up, func.data.selector_down);
		});
	}
}
