(function($){
$.fn.carousel = function(options) {
var defaults = {
total : 10,
visible : 3,
carousel : ".carousel",
next : "cc-next",
previous : "cc-previous",
speed : "fast",
easing : "swing",
scrollid : "cc-scroll-",
step : 100,
speed : "fast",
viewheight: 500,
easing : "swing"
}
var options = $.extend(defaults, options);
var $_height = $(this).height();
var $_max = $_height - options.viewheight;
$(this).css({position: "absolute"});
$(this).wrap($('
'));
$(".carousel_wrapper").css({height:options.viewheight+"px", overflow : "hidden", position: "relative"});
$(this).each(function (i){
var $_items = $(this).children().size();
var $_id = $(this);
$("#"+options.next).bind("click", function(){
scrollup($_id);
});
$("#"+options.previous).bind("click", function(){
scrolldown($_id);
});
});
function scrollup($_elem){
var __doScroll = false, __full = -((options.total - options.visible) * options.step);
$_elem.pos = (typeof $_elem.pos != "number") ? Number(0) : $_elem.pos;
if ($_elem.pos > __full){
__doScroll = true;
$_elem.pos -= options.step;
}
if (__doScroll) {
$($_elem).animate({top: $_elem.pos+'px'}, {speed : options.speed, easing: options.easing});
}
};
function scrolldown($_elem){
var __doScroll = false, __full = Number(0);
$_elem.pos = (typeof $_elem.pos != "number") ? Number(0) : $_elem.pos;
if ($_elem.pos < __full){
__doScroll = true;
$_elem.pos += options.step;
}
if (__doScroll) {
$($_elem).animate({top: $_elem.pos+'px'}, {speed : options.speed, easing: options.easing});
}
};
};
})(jQuery);