  
////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////// COPYRIGHT 2008 by BENEDIKT VAMOS ///////////////////////////////////
//    This source code is copyrighted by Benedikt Vamos (http://benedikt.vamos-inc.at). You are not   //
//	  allowed to copy, modify, translate or distribute this without my personal (written) agreement.  //
//	  For more information please don't hesitate to contact me! ( kontakt (at) vamos-inc (dot) at )	  //
/////////////////////////////////// COPYRIGHT 2008 by BENEDIKT VAMOS ///////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////

function gallery() {
	this.makeRangeFrom = 0;
	this.makeRangeTo = 0;
	this.selected = 0;
	this.picsAmount = 0;

}

	var wishedPicHeight = 500;
	var wishedPicWidth = 500;
	
		/* Sichtbar werden "makeAmount" (anzahl) Bilder von Nummer "makeFrom" weg */
	function makeVisible(object, galleryId, makeFrom, makeAmount, height, width){
		makeAmount = makeAmount-1;
		var getListElement = document.getElementById("chooseBar" + galleryId).getElementsByTagName("LI");
		object.picsAmount = getListElement.length-1;
		
		if(height > wishedPicHeight){
			factor =  height / wishedPicHeight;
			height = wishedPicHeight;
			width = width/factor;
		}
		if(width > wishedPicWidth){
			factor =  width / wishedPicWidth;
			width = wishedPicWidth;
			height = height/factor;
		}
		document.getElementById("showPic"+galleryId).getElementsByTagName("img")[0].height  = height ;
		document.getElementById("showPic"+galleryId).getElementsByTagName("img")[0].width = width;
		
		
		getListElement[makeFrom].style.border = "1px solid red ";
		object.selected = makeFrom;
		
		/* die Anzahl der Bilder die Menge der bilder übersteigt, muss angepasst werden. */
		if(makeAmount > object.picsAmount){
			makeAmount = object.picsAmount;
		}
		/* wenn der startwert + die anzahl der sichtbaren bilder die Menge der Bilder übersteigt,soll der startwert entsprechend heruntergesetz werden. */
		if(parseInt(makeFrom) + parseInt(makeAmount)  > object.picsAmount){
			makeFrom = parseInt(object.picsAmount) - parseInt(makeAmount);
		}
		
		if(makeFrom < 0 ){
			makeFrom = 0;
		}
		
		for(i=0; i <= object.picsAmount; i++){

			if(i >= makeFrom && i <= parseInt(makeFrom) + parseInt(makeAmount)){
				getListElement[i].style.display = 'block';  		
				
			} 			
		}
		object.makeRangeFrom=makeFrom;
		object.makeRangeTo=makeFrom+makeAmount;
		displayPic(galleryId, makeFrom);
	}
	
	function displayPic(galleryId, pic){ /*...and description etc...*/
		var getListElement = document.getElementById("chooseBar" + galleryId).getElementsByTagName("LI");
		var newSrc = getListElement[pic].getElementsByTagName("img")[0].src;

		document.getElementById("galleryImg" + galleryId).src = newSrc;
		document.getElementById("galleryImgLink" + galleryId).href = newSrc;
		
		/* display description: */
		document.getElementById("description" + galleryId).innerHTML = getListElement[pic].getElementsByTagName("span")[0].innerHTML;
		//var thisSpan = getListElement[selected].getElementsByTagName("span")[0].style.display = 'none';
		//var thisSpan = getListElement[pic].getElementsByTagName("span")[0].style.display = 'block';
	}
	
	function goRight(object, galleryId){
		var getListElement = document.getElementById("chooseBar"+galleryId).getElementsByTagName("LI");
		
		if(object.selected == object.makeRangeTo){
			scrollRight(object, galleryId);
		}
		if(object.selected != object.picsAmount){
			getListElement[object.selected].style.border = "1px solid black ";
			displayPic(galleryId, object.selected+1);
			object.selected = parseInt(object.selected)+1;
			getListElement[object.selected].style.border = "1px solid red ";
		}
	}
	
	function goLeft(object, galleryId){
		var getListElement = document.getElementById("chooseBar"+galleryId).getElementsByTagName("LI");
		
		if(object.selected == object.makeRangeFrom){
			scrollLeft(object, galleryId);
		}
		if(object.selected != 0){
			getListElement[object.selected].style.border = "1px solid black";
			displayPic(galleryId, object.selected-1);
			object.selected = parseInt(object.selected)-1;
			getListElement[object.selected].style.border = "1px solid red ";
		}
	}
	
	function scrollRight(object, galleryId){
		var getListElement = document.getElementById("chooseBar"+galleryId).getElementsByTagName("LI");
		
		if(object.makeRangeTo < object.picsAmount){
			object.makeRangeTo++;
			getListElement[object.makeRangeFrom].style.display = 'none'; 
			getListElement[object.makeRangeTo].style.display = 'block'; 
			object.makeRangeFrom++;
		}
	}
	
	function scrollLeft(object, galleryId){
		var getListElement = document.getElementById("chooseBar"+galleryId).getElementsByTagName("LI");
		
		if(object.makeRangeFrom > 0){
			object.makeRangeFrom--;
			getListElement[object.makeRangeTo].style.display = 'none'; 
			getListElement[object.makeRangeFrom].style.display = 'block'; 
			object.makeRangeTo--;
		}
	}
	
	function chooseThisPic(object, galleryId, listId, height, width){
		var getListElement = document.getElementById("chooseBar"+galleryId).getElementsByTagName("LI");
		
		if(height > wishedPicHeight){
			factor =  height / wishedPicHeight;
			height = wishedPicHeight;
			width = width/factor;
		}
		if(width > wishedPicWidth){
			factor =  width / wishedPicWidth;
			width = wishedPicWidth;
			height = height/factor;
		}
		document.getElementById("showPic"+galleryId).getElementsByTagName("img")[0].height  = height ;
		document.getElementById("showPic"+galleryId).getElementsByTagName("img")[0].width = width;
		
		displayPic(galleryId, listId);
		
		getListElement[object.selected].style.border = "1px solid black ";
		object.selected = listId;
		getListElement[object.selected].style.border = "1px solid red ";
	}

