(function($){
$.fn.Slider = function(params) {
var speed = (params.speed !== undefined) ? params.speed : 500;
var interval = (params.interval !== undefined) ? params.interval : 5000;
var auto = (params.auto !== undefined) ? params.auto : 1;
var effect = (params.effect !== undefined) ? params.effect : 'fade';
var addcontrols = (params.addcontrols !== undefined) ? params.addcontrols : 1;
var livecontrols = (params.livecontrols !== undefined) ? params.livecontrols : 1;
var addnextprev = (params.addnextprev !== undefined) ? params.addnextprev : 0;
var livenextprev = (params.livenextprev !== undefined) ? params.livenextprev : 1;
var obj = $(this);
var count = $(obj).find('.item').size();
var current = 1;
var timer = 1;
var ready = 1;
function setupEffectFade() {
$(obj).children('.item:not(:first-child)').hide();
}
function setupEffectSlide() {
var item_width = $(obj).find('.item').width();
var item_height = $(obj).find('.item').height();
var holder_width = item_width*count;
var holder_height = item_height;
$(obj).find('.item').wrapAll($("
", { "class": "holder"}));
$(obj).children('div.holder').css('width',holder_width);
}
function doEffectFade(id) {
$(obj).children('.item').hide();
$(obj).children('.slide'+id).fadeIn(speed, function() {
ready = 1;
});
}
function doEffectSlide(id) {
var item_width = parseInt($(obj).find('.item').width());
var pos_current = parseInt($(obj).children('.holder').css('left'));
if(id", { "class": "controls" }));
for (i=1; i<=count; i++) {
$(obj).children('ul.controls').append($("")).children().last().html($("", { "href": "javascript:void(0)" })).children().html($("", { "class": "num ctr"+i })).children().html(i);
}
$(obj).children('ul.controls').prepend($("")).children().first().html($("", { "class": "prevnext prev", "href": "javascript:void(0)" }));
$(obj).children('ul.controls').append($("")).children().last().html($("", { "class": "prevnext next", "href": "javascript:void(0)" }));
}
function liveControls() {
$(obj).children('ul.controls').find('.ctr1').parent().addClass('active');
$(obj).children('ul.controls').find('span.num').parent().click(function() {
auto = 0;
id = $(this).find('span.num').html();
goToSlide(id);
});
}
function addNextPrev() {
$(obj).append($("", { "class": "prevnext prev", "href": "javascript:void(0)" }));
$(obj).append($("", { "class": "prevnext next", "href": "javascript:void(0)" }));
}
function liveNextPrev() {
$(obj).find('a.prevnext').click(function() {
id = $(obj).children('ul.controls').find('a.active').find('span.num').html();
if($(this).hasClass('next') && ready == 1) {
id++;
if (id > count) id = 1;
goToSlide(id);
}
if($(this).hasClass('prev') && ready == 1) {
id--;
if (id < 1) id = count;
goToSlide(id);
}
});
}
return this.each(function(){
if(effect == 'fade') {
setupEffectFade();
}
if(effect == 'slide') {
setupEffectSlide();
}
if(addcontrols == 1) {
addControls();
liveControls();
}
if(addcontrols == 0 && livecontrols == 1) {
liveControls();
}
if(addnextprev == 1) {
addNextPrev();
liveNextPrev();
}
if(addnextprev == 0 && livenextprev == 1) {
liveNextPrev();
}
if(auto == 1) {
autoSlide();
}
});
}
})(jQuery);