/*
	New Slider Box
	-------------------------
	Scripted by szenaris.com  [SG] 
*/

jQuery.fn.accessNewSliderBox = function( settings ) {
	settings = jQuery.extend({
        speed : "normal",
		slideBy : 1,
		minHeight : 56
    }, settings);
    return this.each(function() {
		jQuery.fn.accessNewSliderBox.run( jQuery( this ), settings );
    });
};
jQuery.fn.accessNewSliderBox.run = function( $this, settings ) {
	jQuery( ".javascript_css", $this ).css( "display", "none" );
	var div = jQuery( ".slide_container", $this );
	var ul = jQuery( "ul:eq(0)", $this );
	var li = ul.children();
	var akt_li = 0;
	var offsetTop = 0;
	var ulHeight = 0;
	
	var $next = jQuery( ".next > a", $this );
	var $back = jQuery( ".back > a", $this );
	$next.css( "display", "none" );
	$back.css( "display", "none" );
	if ( li.length > settings.slideBy ) {
		for (var i = 0; i < li.length; i++){
			if (jQuery( li[i] ).height() <= settings.minHeight){ jQuery( li[i] ).css( "height", ( settings.minHeight ) ); }
			if ( i >= akt_li && i < (akt_li+settings.slideBy) ) { ulHeight += jQuery( li[i] ).height(); }	
		}
		var animating = false;
		div.css( "height", ( ulHeight ) );
		$next.click(function() {
			if ( !animating ) {
				animating = true;
				offsetTop = 0;
				ulHeight = 0;		
				akt_li = akt_li < li.length ? akt_li + settings.slideBy : akt_li;
				for (var i = 0; i < li.length; i++){
					if ( i >= akt_li && i < (akt_li+settings.slideBy) ) { ulHeight += jQuery( li[i] ).height(); }
					if ( i < akt_li) { offsetTop += jQuery( li[i] ).height(); }
				}
				offsetTop = parseInt( - offsetTop );
				if ( akt_li < li.length) {
					$back.css( "display", "block" );
					div.animate({
						height: ulHeight
					}, settings.speed );
					ul.animate({
						top: offsetTop						
					}, settings.speed, function() {
						if ( (akt_li + 1 + settings.slideBy) > li.length) {
							$next.css( "display", "none" );
						}
						animating = false;
					});
				} else {
					$next.css( "display", "none" );
					animating = false;
				}
			}
			return false;
		});
		$back.click(function() {
			if ( !animating ) {
				animating = true;
				offsetTop = 0;
				ulHeight = 0;		
				akt_li = akt_li > 0 ? akt_li - settings.slideBy : akt_li;
				for (var i = 0; i < li.length; i++){
					if ( i >= akt_li && i < (akt_li+settings.slideBy) ) { ulHeight += jQuery( li[i] ).height(); }
					if ( i < akt_li) { offsetTop += jQuery( li[i] ).height(); }
				}
				offsetTop = parseInt( - offsetTop );
				if ( akt_li < li.length) {
					$next.css( "display", "block" );
					div.animate({
						height: ulHeight
					}, settings.speed );
					ul.animate({
						top: offsetTop						
					}, settings.speed, function() {
						if ( akt_li <= 0) {
							$back.css( "display", "none" );
						}
						animating = false;
					});
				} else {
					$next.css( "display", "none" );
					animating = false;
				}
				
			}
			return false;
		});
		$next.css( "display", "block" );
	}
};