jQuery(document).ready(		
	// livequery f�r alle Links im Slider, um Clicks wieder abzufangen	
	function () {	
	
	var slider = {

	// Animationszeiten
	iSpeedFull : 1000,
	iSpeedQuick : 0,
	iSpeedQuicker : 0,

	//  Anzahl Bildelemente
	iArrayLength : 0,

	// Breite des Sliderelements
	iSliderWidth: 0,

	// Ausgangsbreite eines Elements
	iSTDwidth: 0,

	// Breite des Inhalts des aktiven Elements
	iMAXwidth: 0,

	// Breite der minimierten Elemente
	iMINwidth: 0,	

	// Abstand das aktiven "clickers"
	iCLKright: 0,
		
	init : function(param)
	{
				this.iSpeedFull = 1000;
				this.iSpeedQuick = this.iSpeedFull / 2;				
				this.iSpeedQuicker = this.iSpeedFull / 3;
				this.iArrayLength = jQuery('#vusg_slider > div:not(#vusg_clear)').length;
								
				// Gesamtbreite
				var sSliderWidth = jQuery('#vusg_slider').css("width");
				this.iSliderWidth = parseInt(sSliderWidth);
				
				if (this.iSliderWidth > 625)
				{
					if (this.iArrayLength > 3)
						this.iSliderWidth = this.iSliderWidth - (11 * (this.iArrayLength - 1));
				}
				else
				{
					this.iSliderWidth = this.iSliderWidth - 55;
				}
				// Breite eines Slides in Ausgangsposition
				this.iSTDwidth = 0;
				// Breite der minimierten Slides				
				this.iMINwidth = 0;		
				switch (this.iArrayLength) 
				{
					case 3:
						if(!jQuery('#vusg_slider').hasClass("small"))
						{
							this.iSTDwidth = 191;
							this.iMINwidth = 191;			
							// Breite des Content_DIVs
							this.iMAXwidth = this.iSTDwidth;				
							jQuery('#vusg_slider > div.slpic').css("margin-right", "17px"); break;
						}
					default:
						this.iSTDwidth = Math.floor(this.iSliderWidth / this.iArrayLength);
						if (jQuery('#vusg_slider').hasClass("small"))
						{
							this.iSTDwidth = Math.floor(this.iSliderWidth / 6);
						}
						// Breite des Content_DIVs
						this.iMAXwidth = this.iSTDwidth;
						if (this.iMAXwidth < 191)
							this.iMAXwidth = 191;					
						this.iMINwidth = Math.floor((this.iSliderWidth - this.iSTDwidth - this.iMAXwidth - 1) / (this.iArrayLength - 1));
						if (this.iSliderWidth < 625)						
							this.iMINwidth = Math.floor((this.iSliderWidth - this.iSTDwidth - this.iMAXwidth - 1) / 5);
				}				
					
				// Abstand des aktiven Clickers 
				this.iCLKright = this.iMAXwidth + 4;
				
			// ENDE Parameter
	}
	};

	// kein warten auf .ready
	slider.init();
	
	// inhalte ausblenden
	jQuery('#vusg_slider div > div').css("width", "0px");		
	jQuery('#vusg_slider div > div > *').hide();

	// ist ein Element schon bei Aufruf aktiv ?
	// Dann direkt aufgeklappt darstellen
	if(jQuery('#vusg_slider > div.active').length == 1)
	{
		jQuery('#vusg_slider > div.active').css("padding-left", slider.iSTDwidth + "px");
		jQuery('#vusg_slider > div.active > div').css("width", slider.iMAXwidth + "px");
		jQuery('#vusg_slider > div.active > div > *').show();
		jQuery('#vusg_slider > div:not(.active):not(#vusg_clear)').css("padding-left", slider.iMINwidth + "px");
		jQuery('#vusg_slider > div.active > span.clicker').css("right", slider.iCLKright + "px");			
	}
	else
	{
	// elemente aufdr�cken
		jQuery('#vusg_slider > div:not(#vusg_clear)').css("padding-left", slider.iSTDwidth + "px");
	}

	// bind klasse setzen
	jQuery('#vusg_slider > div:not(#vusg_clear)').addClass("rdy");
	jQuery('#vusg_slider > div:not(#vusg_clear):last').css("margin-right", "0");				
	// end
	
	jQuery('#vusg_slider > div.rdy a') 
		.livequery('click', function(event) {
			event.stopPropagation();
		});	

	jQuery('#vusg_slider > div.rdy') 
		.livequery('click', function(event) {
	
		// this in Variable sichern, um es in CallBacks verwenden zu k�nnen
		
			var eThis = jQuery(this);
	
		// livequery Bind Klasse entfernen, um Klickevents nicht mehr zu verarbeiten			
		jQuery('#vusg_slider > div.rdy').removeClass("rdy");
		
		// Clicker Overlays waehrend der Animation ausblenden
		jQuery('#vusg_slider > div > span.clicker').hide();

		
		var sIDchild = "#" + jQuery(this).attr("id") + " > div";
		var sIDparent = "#" + jQuery(this).attr("id");
		
		jQuery(this).addClass("clicked");
		
						
		// Objekt ist bereits ausgefahren, zurucksetzen
		if(jQuery(this).hasClass("active"))
		{
			// Inhalt des selektierten Objekts ausblenden,..... danach Ausgangszustand herstellen 
			jQuery(sIDparent + " > div > *").fadeOut(slider.iSpeedQuick,
													//callback1
													function(){
													jQuery(sIDparent + " > div").animate({width: "0"}, slider.iSpeedQuick,
																									//callback2
																									function(){
																									jQuery('#vusg_slider > div:not(.clicked):not(#vusg_clear)').animate({paddingLeft: slider.iSTDwidth}, slider.iSpeedQuicker);
																									// livequery Bind Klasse wieder anfuegen
																									jQuery('#vusg_slider > div:not(#vusg_clear)').addClass("rdy");
																									jQuery('#vusg_slider > div.active > span.clicker').css("right","4px");
																									jQuery('#vusg_slider > div > span.clicker').show();
																									jQuery('#vusg_slider > div.active').removeClass("active");
																									});
													});										
		}
		// Objekt ausfahren
		else
		{	
						
			//ggf anderes noch aktives Objekt wieder einfahren
			if(jQuery('#vusg_slider > div.active').length > 0)
			{
				// animationen
				jQuery('#vusg_slider div.active > div > *').hide();
				jQuery('#vusg_slider div.active > div').animate({width: "0"} , slider.iSpeedQuicker);
				jQuery('#vusg_slider > div.clicked').animate({paddingLeft: slider.iSTDwidth}, slider.iSpeedQuicker);
				jQuery('#vusg_slider > div.active > span.clicker').css("right","4px");
				jQuery('#vusg_slider > div.active').removeClass("active");																							
			}

			jQuery('#vusg_slider > div:not(.clicked):not(#vusg_clear)').animate({paddingLeft: slider.iMINwidth}, slider.iSpeedQuicker, 
						// callback 1
						function(){
									if(jQuery('#vusg_slider > div:not(.clicked) > div.active').length == 0)
									{
									// CSS Klasse als Marker setzen, um CALLBACK nur einmal auszufuehren							
									jQuery(sIDparent + " > div").addClass("active");
									jQuery(sIDparent + " > div").animate({width: "+=" + slider.iMAXwidth}, slider.iSpeedFull, 
										//callback 2
										function(){
													jQuery(sIDparent + " > div > *").fadeIn(slider.iSpeedQuick);
													jQuery('#vusg_slider > div:not(.clicked) > div.active').removeClass("active");
													// livequery Bind Klasse wieder anfuegen
													jQuery('#vusg_slider > div:not(#vusg_clear)').addClass("rdy");
													jQuery('#vusg_slider > div > span.clicker').show();
													});
									jQuery(eThis).addClass("active");
									jQuery('#vusg_slider > div.active > span.clicker').css("right", slider.iCLKright + "px");
									}
									});										
		}				
		
		jQuery(this).removeClass("clicked");				
		return false; 
	});		
});
