(function($) {	
	$.nxsTeaser = function(sourceBox, aOptions){
		var $sSourceId 		= sourceBox;
		var $sSourceObject 	= $(sourceBox);
		var $aOptions		= aOptions;
		var $oTimer			= null;
		var $iCount			= 0;
		var $iActPos		= 0;
		var $iFirstPos		= 0;
		var $iLastPos		= 0;
		
		init();		

		function goToLeft() {
			$iHideElement = $iActPos + 3;
			
			$(".teaser_"+$iHideElement).hide();
			$iActPos--;

			if ($iActPos < $iFirstPos) {				
				$iFirstActiveElement = $iActPos + 1;				
				$(".teaser_"+$iFirstActiveElement).before($(".teaser_"+$iLastPos));
				$(".teaser_"+$iLastPos).addClass("teaser_"+$iActPos).removeClass("teaser_"+$iLastPos).attr('teaser_id', $iActPos);
				$iLastPos--;
				$iFirstPos--;
			}
			
			$(".teaser_"+$iActPos).show();	
		}
		
		function goToRight() {
			$(".teaser_"+$iActPos).hide();
			$iActPos++;
			
			$iShowElement = $iActPos + 3;

			if ($iShowElement > $iLastPos) {				
				$iLastActiveElement = $iShowElement - 1;				
				$(".teaser_"+$iLastActiveElement).after($(".teaser_"+$iFirstPos));
				$(".teaser_"+$iFirstPos).addClass("teaser_"+$iShowElement).removeClass("teaser_"+$iFirstPos).attr('teaser_id', $iShowElement);
				$iLastPos++;
				$iFirstPos++;
			}
			
			$(".teaser_"+$iShowElement).show();			
		}

		function init() {					
			$sSourceObject.children("a").each(function (){
				$(this).attr('teaser_id', $iCount);
				$(this).addClass('teaser_'+$iCount);
				$iLastPos = $iCount;
				$iCount++;
				if ($iCount > 4)
					$(this).hide();
			});
			
			if ($iCount <= 4) {
				$(".teaserArrows").hide();
			}
			
			$("#teaserArrowLeft").unbind("click").click(goToLeft);
			$("#teaserArrowRight").unbind("click").click(goToRight);
		}	
	}
	
	
	$.fn.nxsTeaser = function(aOptions){
		aOptions = aOptions || {};
								
		this.each(function() {
			new $.nxsTeaser(this, aOptions);
		});
	}
	
})(jQuery);
