function ImageSlider(sliderid)
{
	this.slider = jQuery("#" + sliderid);
	this.childs = jQuery("#" + sliderid + " .flyer");
	this.cur = this.childs.first();
	this.sliderid = sliderid;
	this.scrolling = false;
	this.stage = jQuery("." + sliderid);
	this.initButtons = function()
	{
		jQuery('.'+this.sliderid+' .right').animate( { left:  this.childs.outerWidth(true) + 10}, 0);
	}

	if (this.childs.length < 2)
		jQuery('.'+this.sliderid+' .right').animate( { opacity: 0 } );
	
	i = 0;
	cur = this.childs;
	while (cur.length != 0)
	{
		cur.data("index", i++)
		cur = cur.next();
	}

	w = this.childs.css("width") + "";
	if (w.substr(w.length - 2) == "px")
		w = parseInt(w.substr(0, w.length - 2));
	
	else
		w = 600;
	
	jQuery('.'+this.sliderid+' .right').animate( { left:  w + 30}, 0);

	jQuery('.'+sliderid+' *').data('class', this);
			
	jQuery('.'+sliderid+' .flyer').mouseover( function() {
		if (this.childNodes[0].childNodes[1] &&
			this.childNodes[0].childNodes[1].style.display == "block")
			return;
			
		jQuery(this.childNodes[0].childNodes[0]).css("display", "");//.fadeTo(200, 0.60);
	});
	
	jQuery('.'+sliderid+' .flyer').mouseleave( function() {
		jQuery(this.childNodes[0].childNodes[0]).css("display", "none");//.fadeOut(200);
	});
	jQuery('.'+sliderid+' .flyer .click img').click( function() {
		jQuery(this.parentNode).css("display", "none");//.fadeOut(200, function() {
		jQuery(this.parentNode.parentNode.childNodes[1]).slideDown(500); // Notiz: 500 bedeutet 500ms als Sliderzeit, this.parentNode.parentNode => ein parentNode entfernen wenn kommentar eine
		jQuery(this.parentNode.parentNode.childNodes[2]).slideDown(500); // Zeile drüber entfernt werden soll
		//});
	});

	jQuery('.'+sliderid+' .flyer .info .closelink').click( function() {
		jQuery(this.parentNode.parentNode.childNodes[1]).slideUp(500);
		jQuery(this.parentNode.parentNode.childNodes[2]).slideUp(500, function() {
			jQuery(this.parentNode.childNodes[0]).css("display", "");//.fadeTo(200, 0.60);
		});
	});
	
	jQuery('.'+sliderid+' .right').click( function() {
		obj = jQuery(this).data('class');
		if (obj.scrolling)
			return;
			
		if (obj.cur.next().length == 0)
			return;
		
		obj.scrolling = true;
		
		// desired position:
		pos = (obj.stage.innerWidth() - obj.cur.next().outerWidth()) / 2;
		
		// width left of item
		leftof = 10;
		cur = obj.childs;
		while (cur.length != 0 && cur.data("index") != obj.cur.next().data("index"))
		{
			leftof += cur.outerWidth(true);
			cur = cur.next();
		}
		
		// desired shift = pos - leftof
		dx = pos - leftof;
		
		jQuery('.'+sliderid+' .right').animate( { left:  pos + obj.cur.next().outerWidth(true) }, 500);
		if (obj.cur.next().next().length == 0)
            jQuery('.'+sliderid+' .right').fadeOut(500);
            
        else
            jQuery('.'+sliderid+' .right').fadeIn(500);
            
		jQuery('.'+sliderid+' .left').animate( { opacity: 1, filter : '', left:  pos - jQuery('.'+sliderid+' .left').outerWidth() + 5 }, 500);
		jQuery('.'+sliderid+' .left').fadeIn(500);
/*		jQuery('.'+sliderid+' .right').animate( { opacity: obj.cur.next().next().length == 0 ? 0 : 1, filter : '', left:  pos + obj.cur.next().outerWidth(true) }, 500);
		jQuery('.'+sliderid+' .left').animate( { opacity: 1, filter : '', left:  pos - jQuery('.'+sliderid+' .left').outerWidth() + 5 }, 500);
	*/	
		jQuery("#" + obj.sliderid).animate( { left:  dx }, 500, 
			function() 
			{ 
				obj = jQuery(this).data('class');
				obj.scrolling = false; 
				obj.cur = obj.cur.next();
			} 
		);
	});
	
	jQuery('.'+sliderid+' .left').click( function() {
		obj = jQuery(this).data('class');
		if (obj.scrolling)
			return;
			
		if (obj.cur.prev().length == 0)
			return;
		
		obj.scrolling = true;
		
		// desired position:
		if (obj.cur.prev().prev().length == 0)
			pos = 0;
			
		else
			pos = (obj.stage.innerWidth() - obj.cur.prev().outerWidth()) / 2;
		
		// width left of item
		leftof = 10;
		cur = obj.childs;
		while (cur.length != 0 && cur.data("index") != obj.cur.prev().data("index"))
		{
			leftof += cur.outerWidth(true);
			cur = cur.next();
		}
		
		// desired shift = pos - leftof
		dx = pos - leftof;

		jQuery('.'+sliderid+' .right').fadeIn(500);
		jQuery('.'+sliderid+' .right').animate( { left:  pos + obj.cur.prev().outerWidth(true) + 5 }, 500);
		
		if (pos == 0)
            jQuery('.'+sliderid+' .left').fadeOut(500);
        
        else
            jQuery('.'+sliderid+' .left').fadeIn(500);
        
		jQuery('.'+sliderid+' .left').animate( { left:  pos - jQuery('.'+sliderid+' .left').outerWidth() + 5 }, 500);
/*		jQuery('.'+sliderid+' .right').animate( { opacity: 1, filter : '', left:  pos + obj.cur.prev().outerWidth(true) + 5 }, 500);
		jQuery('.'+sliderid+' .left').animate( { opacity: pos == 0 ? 0 : 1, filter : '', left:  pos - jQuery('.'+sliderid+' .left').outerWidth() + 5 }, 500);
	*/	
		jQuery("#" + obj.sliderid).animate( { left:  dx }, 500, 
			function() 
			{ 
				obj = jQuery(this).data('class');
				obj.scrolling = false; 
				obj.cur = obj.cur.prev();
			} 
		);
	});
		
	jQuery('.'+sliderid+' .left').animate( { opacity: 0 } );
	jQuery(".hover").css("display", "none");
}


