/* ##### Hauptfunktion - Befuellt den Slider ##### */
function sliderini() {
	
	
	var imgdivs = new Array();
	var imgspace=20;															// Platz in Pixel zwischen den Fahrzeugen
	var visarea=596;															// Sichtbarer Bereich in Pixel
	var slidedist=650;															// Slide-Distanz in Pixel
	var slideholderheight=46;													// Huehe des Slider-DIV in Pixel
	
	// Counter
	var counter=0;
	var fulllength=0;
	var partlength=0;
	var space_after_part=0;
		
	var slideimgwidth;
	var slideimgwidth_space;
	var slideimgheight;
	var slideimgheight_space;
	
	imgdivs=_communiacs_getElementsByTagAndClass(document, 'div', 'sliderimages');
	
	var divcount=imgdivs.length-1;
	
	while(counter<imgdivs.length) {
		
		
		
		if(typeof(imgdivs[counter].firstChild.width) != "undefined") {			// Schleife fuer Images OHNE Link
			slideimgwidth = imgdivs[counter].firstChild.width;
			slideimgheight = imgdivs[counter].firstChild.height;
			slideimgwidth_space=slideimgwidth+imgspace;
			slideimgheight_space=slideholderheight-slideimgheight;
			
			partlength+=slideimgwidth_space;
	
			if(partlength+slideimgwidth_space > visarea) {
				space_after_part=slidedist-partlength;
				
				if(counter==divcount) {
					imgdivs[counter].style.width = slideimgwidth_space+"px";
				}else{
					imgdivs[counter].style.width = slideimgwidth_space+space_after_part+"px";
					fulllength+=space_after_part;
				}
				
				imgdivs[counter].style.padding = slideimgheight_space+"px 0 0 0";
				
				partlength=0;
			}else{
				imgdivs[counter].style.width = slideimgwidth_space+"px";
				imgdivs[counter].style.padding = slideimgheight_space+"px 0 0 0";
			}
			
			fulllength+=slideimgwidth_space;
			counter++;
		}else{																	// Schleife fuer Images MIT Link
			slideimgwidth = imgdivs[counter].firstChild.firstChild.width;
			slideimgheight = imgdivs[counter].firstChild.firstChild.height;
			slideimgwidth_space=slideimgwidth+imgspace;
			slideimgheight_space=slideholderheight-slideimgheight;
			
			partlength+=slideimgwidth_space;
			

			
			if(partlength+slideimgwidth_space > visarea) {
				space_after_part=slidedist-partlength;
				
				if(counter==divcount) {
					imgdivs[counter].style.width = slideimgwidth_space+"px";
				}else{
					imgdivs[counter].style.width = slideimgwidth_space+space_after_part+"px";
					fulllength+=space_after_part;
				}
				imgdivs[counter].style.padding = slideimgheight_space+"px 0 0 0";
				
				partlength=0;
			}else{
				imgdivs[counter].style.width = slideimgwidth_space+"px";
				imgdivs[counter].style.padding = slideimgheight_space+"px 0 0 0";
			}
			
			fulllength+=slideimgwidth_space;
			counter++;
		}
	}
	document.getElementById('sliding-div').style.width=fulllength+"px";
}


/* ##### Liest die X-Koordinate eines Elements aus ##### */

function getX(element) {

	x = element.offsetLeft;

	if (!element.offsetParent) return x;

	else return (x+getX(element.offsetParent));

}



/* ##### Bewegt den zu slidenden div nach rechts ##### */

function MoveRight(element,element2){

	elem = document.getElementById(element);

	elem2 = document.getElementById(element2);

	

	var actx = getX(elem);

	var actx_width_of_slidediv = document.getElementById('sliding-div').style.width;

	actx = actx+parseInt(actx_width_of_slidediv.substr(0,actx_width_of_slidediv.length - 2));	// 1000 = Breite des Sliding-DIV - Wird später aus einem Skript/Function übergeben, das die Bilder hinzufügt und die Breite errechnet

	var actx2 = getX(elem2);

	actx2 = actx2+596;											// 596 = Breite des sichtbaren Bereiches des Sliders



	

	if(actx > actx2) {											// Nur wenn der Endpunkt des Sliding-DIV (actx) größer ist als der Endpunkt des Eltern-DIV (actx2), wird der Effekt ausgeführt
		new Effect.Move(elem, {x:-650,y:0,duration:1,queue:{position:'end', scope:'slider', limit:1}});		// Wichtig ist hier die queue mit limit:1, da sonst der Effekt mehrfach auf einmal gestartet werden kann
	}

}



/* ##### Bewegt den zu slidenden div nach links ##### */

function MoveLeft(element,element2){

	elem = document.getElementById(element);

	elem2 = document.getElementById(element2);

	

	var actx = getX(elem);

	var actx2 = getX(elem2);

	

	if(actx < actx2) {				// Nur wenn der Anfangspunkt des Sliding-DIV (actx) kleiner ist als der Anfangspunkt des Eltern-DIV (actx2), wird der Effekt ausgeführt
		new Effect.Move(elem, {x:650,y:0,duration:1,queue:{position:'end', scope:'slider', limit:1}});		// Wichtig ist hier die queue mit limit:1, da sonst der Effekt mehrfach auf einmal gestartet werden kann
	}

}




/*************** Eventlisterner *******************/
/*************** Eventlisterner *******************/
/*************** Eventlisterner *******************/

if (window.addEventListener) {
	document.addEventListener("DOMContentLoaded", sliderini, false);
}
else if(document.attachEvent) {
	window.attachEvent('onload', sliderini);
}


