maxWidth = new Array();
anzShow = new Array();
step = new Array();
lastPicInCont = new Array();
liWidth = new Array();

function setArtikelZahl( anz, slideId)
{
	id_name = $( slideId).attr( 'id');
	anzShow[ id_name] = anz;
	var anzArtikel = $( '.liste li', slideId).length;
	if ( anzArtikel <= anz)
	{
		lastPicInCont[ id_name] = anzArtikel;
	}
	else
	{
		lastPicInCont[ id_name] = anz;
	}
		
}

function setStep( stepno, slideId)
{
	id_name = $( slideId).attr( 'id');
	step[ id_name] = stepno;
}

function setSlideList(id)
{
	var anzArtikel = $( '.liste li', id).length;
	
	if( anzArtikel > 1)
	{
		idx = 1;
	}
	else
	{
		idx = 0;
	}
	
	//Berechnung der Breite eines LI-Elements, wobei hier das 2. LI genommen
	//wenn mehr als 1 LI_ELement gibt
	//Das 1. LI kann kein margin-left haben
	var width = parseInt( $( $( 'li', id)[ idx]).width());
	width = width == null ? 0 : width;
	marginLeft = parseInt( $( $( 'li', id)[ idx]).css( 'margin-left'));
	marginLeft = !marginLeft ? 0 : marginLeft;
	marginRight = parseInt( $( $( 'li', id)[ idx]).css( 'margin-right'));
	marginRight = !marginRight ? 0 : marginRight;
	borderWidth = 2*parseInt( $( $( 'li', id)[ idx]).css( 'border-left-width'));
	borderWidth = !borderWidth ? 0 : borderWidth;
	paddingLeft = parseInt( $( $( 'li', id)[ idx]).css( 'padding-left'));
	paddingLeft = !paddingLeft ? 0 : paddingLeft;
	paddingRight = parseInt( $( $( 'li', id)[ idx]).css( 'padding-right'));
	paddingRight = !paddingRight ? 0 : paddingRight;
	
	id_name = $( id).attr( 'id');
	liWidth[ id_name] = ( width + borderWidth + paddingLeft + paddingRight);
	
	if ( anzArtikel > 1)
	{
		maxWidth[ id_name] = (anzArtikel-1) * ( width + marginLeft + marginRight + borderWidth + paddingLeft + paddingRight);
		//Zurechnen der Breite des 1. LI-Elements
		width = parseInt( $( $( 'li', id)[0]).width());
		width = width == null ? 0 : width;
		marginLeft = parseInt( $( $( 'li', id)[0]).css( 'margin-left'));
		marginLeft = marginLeft == null ? 0 : marginLeft;
		marginRight = parseInt( $( $( 'li', id)[0]).css( 'margin-right'));
		marginRight = marginRight == null ? 0 : marginRight;
		borderWidth = 2*parseInt( $( $( 'li', id)[0]).css( 'border-left-width'));
		borderWidth = borderWidth == null ? 0 : borderWidth;
		paddingLeft = parseInt( $( $( 'li', id)[0]).css( 'padding-left'));
		paddingLeft = paddingLeft == null ? 0 : paddingLeft;
		paddingRight = parseInt( $( $( 'li', id)[0]).css( 'padding-right'));
		paddingRight = paddingRight == null ? 0 : paddingRight;
		maxWidth[ id_name] += ( width + marginLeft + marginRight + borderWidth + paddingLeft + paddingRight);
	}
	else
	{
		maxWidth[ id_name] = ( width + marginLeft + marginRight + borderWidth + paddingLeft + paddingRight);	
	}

	extraWidth = 10;
	lisWidth = maxWidth[ id_name] + extraWidth;
	$( '.liste ul', id).css( "width", lisWidth+"px");
}

function setSlideBtns(id, anz)
{
	prevBtn = $( '.prev', id);
	nextBtn = $( '.next', id);
	prevBtn.unbind( 'click');
	nextBtn.unbind( 'click');
	id_name = $( id).attr( 'id');

	var anzArtikel = $( '.liste li', id).length;

	if( anzArtikel <= anz )
	{
		//SlideBtns deaktivieren
		prevBtn.click(function(){ return false; });
		nextBtn.click(function(){ return false; });
		$( prevBtn).addClass( 'off');
		$( nextBtn).addClass( 'off');
	}
	else
	{
		actLeft = $( '.liste ul', id).css( 'left');
		actLeft = ( !actLeft || actLeft == 'auto') ? 0 : parseInt( actLeft);
		
		lastLeft = -(maxWidth[ id_name] - ( anzShow[ id_name] * (maxWidth[ id_name] / anzArtikel))); 
		
		//alert('ACT: ' + actLeft + ' LAST: ' + lastLeft);
		
		if ( actLeft == 0)
		{
			prevBtn.click( function() { return false; } );
			nextBtn.click( function() { slide('next', id, this); return false; } );
			$( prevBtn).addClass( 'off');
			$( nextBtn).removeClass( 'off');
		}
		else if ( actLeft <= lastLeft)
		{
			prevBtn.click( function() { slide('prev', id, this); return false; } );
			nextBtn.click( function() { return false; } );
			$( prevBtn).removeClass( 'off');
			$( nextBtn).addClass( 'off');
		}
		else
		{
			prevBtn.click( function() { slide('prev', id, this); return false; } );
			nextBtn.click( function() { slide('next', id, this); return false; } );
			$( prevBtn).removeClass( 'off');
			$( nextBtn).removeClass( 'off');
		}
		
	}
	
}

function slide(direction, slideId, btn)
{
	$( '.prev', slideId).unbind( 'click').click( function() { return false;});
	$( '.next', slideId).unbind( 'click').click( function() { return false;});
	list = $( ' ul', slideId);
	
	id_name = $( slideId).attr( 'id');

	moveVal = ( liWidth[ id_name] ) * step[ id_name];
	marg_l = parseFloat( $( $( 'li', slideId)[1]).css( 'margin-left'));
	marg_l = !marg_l ? 0 : marg_l;
	marg_r = parseFloat( $( $( 'li', slideId)[1]).css( 'margin-right'));
	marg_r = !marg_r ? 0 : marg_r;
	moveVal += ( marg_l + marg_r) * step[ id_name];
	
	oldLeft = list.css( 'left');
	oldLeft = ( !oldLeft || oldLeft == 'auto') ? 0 : parseInt( oldLeft);
	
	id = $( slideId).attr('id');
	
	if( direction == "next")
	{
		newLeft = oldLeft - moveVal;
		lastPicInCont[ id_name] += step[ id_name];
	}
	else
	{
		newLeft = oldLeft + moveVal;
		lastPicInCont[ id_name] -= step[ id_name];
	}
	//alert( newLeft);
	list.animate( {left: (newLeft+"px")}, 1000, function(){ setSlideBtns( slideId); } );
}

// anz:		Aanzahl der Bilder, die angezeigt werden sollen
// id:		die Id des Slider-Boxes
// stepno:	die Schrittweite
function setSlider( anz, id, stepno)
{
	id = $( '#'+id);
	if ($(id).length)
	{
		//alert($(id).width());
		setArtikelZahl( anz, id);
		setStep( stepno, id);
		setSlideList( id);
		setSlideBtns( id, anz);		
	}
}


