(function($) {
$.fn.bslider = function(s) {
	s = $.extend({
		delay: 500,
		al: '/images/arrow-l.png',
		ar: '/images/arrow-r.png',
		nl: '/images/nothing-l.png',
		nr: '/images/nothing-r.png',
		margin: 20,
		padding: 55
	}, s);
	
	s.it = $(this);
	s.al = $('<img src="'+s.al+'" />');
	s.ar = $('<img src="'+s.ar+'" />');
	s.nl = $('<img class="fixme" src="'+s.nl+'" />');
	s.nr = $('<img class="fixme" src="'+s.nr+'" />');
	s.wrap = $('<div></div>').css({position: 'absolute', top: 0, height: s.it.height()+'px', left: 0, 'z-index':1});
	s.wrap_o = $('<div></div>').css({overflow: 'hidden',position: 'absolute', top: 0, width: (s.it.width()-s.padding*2)+'px', height: s.it.height()+'px', left: s.padding+'px', 'z-index':1});
	
	s.c = 0;
	s.last = 0;
	s.widths = [];
	s.width = 0;
	
	var IE6 = navigator.userAgent.toLowerCase().indexOf('msie 6') != -1;
	
	s.it.find('a').each(function(i, e){
		s.last = i;
		$(e).attr('id', 'slider-'+i).css({position:'absolute', left: s.width+'px', top: Math.ceil(s.wrap.height()/2 - $(e).find('img').height()/2)+'px'});
		s.width += $(e).width() + s.margin;
		s.widths.push($(e).width());
		s.wrap.append($(e));
	})
	
	s.maxleft = s.width
	
	s.wrap.width(s.width);
	
	s.al.css({left: 0, top: 0, position: 'absolute', cursor: 'pointer', 'z-index': 11}).click(_prev);
	s.ar.css({right: 0, top: 0, position: 'absolute', cursor: 'pointer', 'z-index': 11}).click(_next);
	
	s.nl.css({left: 33, top: 0, position: 'absolute', 'z-index': 2});
	s.nr.css({right: 33, top: 0, position: 'absolute', 'z-index': 2});

	if ((s.width) > (s.it.width()-s.padding*2)){
		s.it.append(s.al);
		s.it.append(s.ar);
		
		s.it.append(s.nl);
		s.it.append(s.nr);
	}else{
		s.wrap_o.css({left:0, width: s.it.width()});
		s.wrap.css({left:0, width: s.it.width()});
		
		var margin = Math.abs(s.width - s.it.width())/(s.last+1) + s.margin;
		
		var w = 0;
		
		s.wrap.find('a').each(function(i, e){
			var left = w + margin*i + s.padding/2;
			$(e).css({left: left});
			
			w += s.widths[i];
		});
	}
	
	s.wrap_o.append(s.wrap);
	s.it.append(s.wrap_o);
	
	if (IE6){
		setTimeout(function(){
			DD_belatedPNG.fix('#bottom-banners .fixmeplease');
		}, 200);
	}
	
	function _next(){
		var r = _set(s.c+1);
		if (r) s.c++;
	}
	function _prev(){
		if (s.c == 0) return false;
		s.c--;
		_set(s.c);
	}
	
	function _set(i){
		var left = 0;
		
		for (var i2=0; i2<i; i2++)
			left += s.widths[i2] + s.margin;
		
		var right = (left + s.wrap_o.width()) - s.width + s.margin;

		if (right>0){
			left -= right;
			s.wrap.animate({left: -left}, s.delay);
			
			right = (left + s.wrap_o.width()) - s.width + s.margin;
			if (right == 0) return false;
			
			return true;
		}
		
		s.wrap.animate({left: -left}, s.delay);
		return true;
	}
	
	return s.it;
}})(jQuery);
