(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 externalcontrols = (params.externalcontrols !== undefined) ? params.externalcontrols : 0;
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 window_width = $(window).width();
var item_width = $(obj).find('.item').width();
var item_height = $(obj).find('.item').height();
var holder_width = item_width*count;
var holder_height = $(obj).height();
$(obj).find('.item').wrapAll($("
", { "class": "holder"}));
$(obj).find('.item').css('width',window_width);
$(obj).find('.item').css('height',holder_height);
$(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_crnt = parseInt($(obj).children('.holder').css('left'));
var step = Math.abs(current-id);
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 liveExternalControls() {
$('ul.external-controls').find('.ctr1').parent().addClass('active');
$('ul.external-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() {
if(externalcontrols == 1){
id = $('ul.external-controls').find('a.active').find('span.num').html();
} else {
id = $(obj).children('ul.controls').find('a.active').find('span.num').html();
}
console.log(id);
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(externalcontrols == 1) {
liveExternalControls();
}
if(addnextprev == 1) {
addNextPrev();
liveNextPrev();
}
if(addnextprev == 0 && livenextprev == 1) {
liveNextPrev();
}
if(auto == 1) {
autoSlide();
}
});
}
})(jQuery);