function initialisePhotoGalleries(startParam) {
	containerId = profilePage.getContainerForApp(startParam);
	if(containerId) {
		photoGalleriesApp = new PhotoGalleriesClass();
		photoGalleriesApp.id = containerId;
		appManagerId = appManager.runApp(startParam, photoGalleriesApp);
		photoGalleriesApp.name = 'appManager.runningApps["' + startParam + '"]';		
		photoGalleriesApp.appId = startParam;
		photoGalleriesApp.limit = 10;
		photoGalleriesApp.init();
	}
}

function PhotoGalleriesClass () {
	var currentPage = 0;
	var isEditable = false;
	var galleries = new Array;
	var images = new Array;
	var galleryInfo = false;
	var galleryCounter = 0;
	var imageCounter = 0;
	var gallerySelectorVisible = false;
	
	var maxGalleryCounter = 0;
	var currentGalleryPage = 1;
	var galleryLimit = 11;
	
	var currentGalleryScrollContainer;
	var nextGalleryScrollContainer;
	var swapGalleryScrollContainer;

	var currentImageId = 0;	
	var currentGalleryId = false;
	var currentGalleryNo = 0;
	
	var addImageAppNeeded = false;
	var addImageAppReady = false;
	
	var showImageAppNeeded = false;
	var showImageAppReady = false;
	var loginToView = false;

	var displayImageInnerId = 'none';

	var isUserGalleriesApp = false;
	
	this.init = function() {
		this.box = document.getElementById(this.id);
			
		jsonGetData('jsApi/photos/get/galleryAppSettings/?appId=' + this.appId, this.name + '.initInt');
		
		this.addImageApp = false;
		this.imageViewer = false;
		
		if(typeof(displayGalleryId)!='undefined') {
			this.displayGalleryId = displayGalleryId;
		} else {
			this.displayGalleryId = 'false';
		}
		
		if(typeof(displayImageId)!='undefined') {
			this.displayImageId = displayImageId;
		} else {
			this.displayImageId = false;
		}		
	}
	
	this.initInt = function(Object) {
		if(Object["status"]=='ok') {
			loginToView = Object["settings"]["loginToView"];
			this.limit = Object["settings"]["limit"];
			isEditable = Object["settings"]["editable"];

			this.buildContainer();				
		
			nextGalleryScrollContainer = document.getElementById(this.id + 'galleryFirstThumbnailScrollContainer');
			currentGalleryScrollContainer = document.getElementById(this.id + 'gallerySecondThumbnailScrollContainer');	
	
			document.getElementById(this.id + 'galleryThumbnails').style.height = Math.ceil(this.limit / 5) * 92 + 10 + 'px';
			document.getElementById(this.id + 'galleryScrollLeftButton').style.height = Math.ceil(this.limit / 5) * 92 + 8 + 'px';
			document.getElementById(this.id + 'galleryScrollRightButton').style.height = Math.ceil(this.limit / 5) * 92 + 8 + 'px';
		
			if(Object["settings"]["isUserGalleryApp"]) {
				isUserGalleriesApp = true;
			}
			
			this.loadGalleries();				
		}
		
		appManager.addApp('FOTOUPLOADAPP', false, this.name + '.addImageInt');
		appManager.startApp('FOTOUPLOADAPP');
		
		appManager.addApp('GALLERYVIEWER', false, this.name + '.showImageInt');
		appManager.startApp('GALLERYVIEWER');					
	}
	
	this.loadGalleries = function() {
		// Load Gallerie for this AppID
		var offset = (currentGalleryPage - 1) * galleryLimit;
		jsonGetData('jsApi/photos/get/galleriesForGalleryApp/?appId=' + this.appId + '&limit=' + galleryLimit + '&offset=' + offset, this.name + '.loadGalleriesInt');			
	}
	
	this.loadGalleriesInt = function(Object) {
		if(this.type!='mini') {
			document.getElementById(this.id + 'gallerySelector').innerHTML = '';
		}

		// Check if Data from Server is valid
		if(Object) {		
			if(Object["status"] && Object["counter"]) {
				// Check if Status is 'ok'
				if(Object["status"] == 'ok') {
					// Check if there are Galleries to display
					maxGalleryCounter = Object["counter"];
					if(Object["galleries"]) {	
						// Load Images for first Gallery
						containerClassName = ' uneven';
						selectGalleryNo = 0;
						for(galleryCounter=0; galleryCounter < Object["galleries"].length; galleryCounter++) {
							galleries[galleryCounter] = Object["galleries"][galleryCounter];
							
							if(this.type!='mini') {
								if(galleries[galleryCounter]["PublicID"]==this.displayGalleryId) {
									selectGalleryNo = galleryCounter;
								}
								galleryContainer = document.createElement("DIV");
								galleryContainer.id = this.id + 'galleryContainer' + galleryCounter;
								galleryContainer.className = 'gallerySelectorGalleryContainer' + containerClassName;
								if(this.galleryHardLink) {
									eval("galleryContainer.onclick = function() { document.location.href = '/photos/" + galleries[galleryCounter]["PublicID"] + "'; };");
								} else {
									eval("galleryContainer.onclick = function() { " + this.name + ".loadImagesForGallery(" + galleryCounter + "); };");
								}
								gallerySelectorIcon = document.createElement("DIV");
								gallerySelectorIcon.className = 'galleryIcon';
								
								gallerySelectorTitle = document.createElement("DIV");
								gallerySelectorTitle.className = 'galleryTitle';
		
								if(galleries[galleryCounter]["ThumbnailPath"].length > 1) {
									galerySelectorIconImage = document.createElement("IMG");
									galerySelectorIconImage.src = galleries[galleryCounter]["ThumbnailPath"];
									gallerySelectorIcon.appendChild(galerySelectorIconImage);
								}
	
								gallerySelectorTitle.innerHTML = galleries[galleryCounter]["Title"];							
	
								gallerySelectorOptions = document.createElement("DIV");
								gallerySelectorOptions.className = 'gallerySubTitle';
								gallerySelectorOptions.innerHTML = galleries[galleryCounter]["ImageCounter"] + ' Bilder';
								
								galleryContainer.appendChild(gallerySelectorIcon);
								galleryContainer.appendChild(gallerySelectorTitle);
								galleryContainer.appendChild(gallerySelectorOptions);
								
								document.getElementById(this.id + 'gallerySelector').appendChild(galleryContainer);
								
								if(containerClassName==' uneven') {
									containerClassName = ' even';
								} else {
									containerClassName = ' uneven';							
								}
							}
						}

						if(this.type!='mini') {							
							var scrollBar = document.createElement("DIV");
							scrollBar.className = 'galleryScrollbar';
							
							var scrollBarLabel = document.createElement("DIV");
							scrollBarLabel.className = 'label';
							scrollBarLabel.innerHTML = 'Seite ' + currentGalleryPage + ' von ' + Math.ceil(maxGalleryCounter / galleryLimit);
							
							var prevPageArrow = document.createElement("IMG");
							prevPageArrow.src = '/images/style/arrows/greyArrowLeftActive.gif';							
							if(currentGalleryPage > 1) {
								prevPageArrow.className = 'arrow left';
								eval("prevPageArrow.onclick = function() { " + this.name + ".prevSelectorPage(); };");							
							} else {
								prevPageArrow.className = 'arrow left inactive';							
							}
	
							var nextPageArrow = document.createElement("IMG");
							nextPageArrow.src = '/images/style/arrows/greyArrowRightActive.gif';
							if(currentGalleryPage < Math.ceil(maxGalleryCounter / galleryLimit)) {
								nextPageArrow.className = 'arrow right';
								eval("nextPageArrow.onclick = function() { " + this.name + ".nextSelectorPage(); };");
							} else {
								nextPageArrow.className = 'arrow right inactive';							
							}
	
					
							scrollBar.appendChild(scrollBarLabel);
							scrollBar.appendChild(prevPageArrow);
							scrollBar.appendChild(nextPageArrow);
							
							document.getElementById(this.id + 'gallerySelector').appendChild(scrollBar);							
						}
						
						if(!currentGalleryId) {
							this.loadImagesForGallery(selectGalleryNo);						
						} else {
							this.showGallerySelector();
						}
						
						if(galleries.length > 1) {
							if(this.displayGalleryId) {
								this.loadImagesForGallery(selectGalleryNo);
								this.displayGalleryId = false;
							} else {
								this.showGallerySelector();
							}
						} else {
							this.displayErrorMessage('Es wurden noch keine Fotoalben angelegt.');
						}	
					} else {
						this.displayErrorMessage('Es wurden noch keine Fotoalben angelegt.');
					}
				} else {
					this.displayErrorMessage('Es wurden noch keine Fotoalben angelegt.');
				}
			} else {
				this.displayErrorMessage('Es wurden noch keine Fotoalben angelegt.');
			}
		} else {
			this.displayErrorMessage('Es wurden noch keine Fotoalben angelegt.');
		}
	}

	this.prevSelectorPage = function() {
		if(currentGalleryPage > 1) {
			currentGalleryPage--;
			this.loadGalleries();
		}
	}	
	
	this.nextSelectorPage = function() {
		if(currentGalleryPage < Math.ceil(maxGalleryCounter / galleryLimit)) {
			currentGalleryPage++;
			this.loadGalleries();
		}
	}
	
	this.loadImagesForGallery = function(galleryNo) {
		currentGalleryId = galleries[galleryNo]["PublicID"];
		currentGalleryNo = galleryNo;
		
		if(this.type != 'mini') {
			if(galleries[galleryNo]["Rights"]["addContent"] || galleries[galleryNo]["Rights"]["edit"]) {
				if(galleries[galleryNo]["Rights"]["addContent"]) {
					document.getElementById(this.id + 'addImagesButton').style.display = 'block';
				} else {
					document.getElementById(this.id + 'addImagesButton').style.display = 'none';					
				}
				
				if(galleries[galleryNo]["Rights"]["edit"]) {
					document.getElementById(this.id + 'deleteGalleryButton').style.display = 'block';
					document.getElementById(this.id + 'gallerySettingsButton').style.display = 'block';					
				} else {
					document.getElementById(this.id + 'deleteGalleryButton').style.display = 'none';
					document.getElementById(this.id + 'gallerySettingsButton').style.display = 'none';						
				}
				
				document.getElementById(this.id + 'galleryOptions').style.display = 'block';
				document.getElementById(this.id + 'galleryHeader').className = 'galleryHeader editable';
			} else {
				document.getElementById(this.id + 'galleryOptions').style.display = 'none';
				document.getElementById(this.id + 'galleryHeader').className = 'galleryHeader';						
			}
		}		

		if(gallerySelectorVisible) {
			this.showGallerySelector();
		}
		
		jsonGetData('jsApi/photos/get/imagesForGallery/?galleryId=' + currentGalleryId, this.name + '.loadImagesForGalleryInt');		
	}
	
	this.loadImagesForGalleryInt = function(Object) {
		if(Object) {
			// Check if Images were loaded	
			if(Object["status"]=='error') {
				// Error
				this.displayErrorMessage('In diesem Album befinden sich keine Bilder. Bitte w&auml;hle ein anderes Album aus.');
			} else if (Object["images"] == false) {
				// No Images
				if(galleries[currentGalleryNo]["MarkedUserID"]) {
					this.displayErrorMessage('Dieses Album f&uuml;llt sich automatisch...<br /><br />Dieses Album wird automatisch mit Fotos gef&uuml;llt, auf denen der Benutzer verlinkt wurde.');
				} else {
					if(this.type != 'mini') {
						this.displayErrorMessage('In diesem Album befinden sich keine Bilder.<br /><br />Bitte w&auml;hle ein anderes Album aus.');	
					} else {
						this.displayErrorMessage('In diesem Album befinden sich noch keine Bilder.<br /><br />Bitte w&auml;hle ein anderes Album aus.');
					}
				}
			} else {
				if(Object["gallery"]) {
					galleryInfo = Object["gallery"];
				}
				images = new Array();
				for (imageCounter=0; imageCounter < Object["images"].length; imageCounter++) {
					// Add Image to Array
					images[imageCounter] = Object["images"][imageCounter];
					if(this.displayImageId && images[imageCounter]["PublicID"] == this.displayImageId) {
						displayImageInnerId = imageCounter;
						this.displayImageId = false;
					}
				}
				
				currentPage = 0;
				
				// Images loaded => Display
				this.displayImages();	

				currentGalleryScrollContainer.style.left = '24px';
				nextGalleryScrollContainer.style.left = '717px';
			}

			// Set GalleryIcon
			if(this.type!='mini') {
				document.getElementById(this.id + 'galleryIcon').innerHTML = '';
				
				if(galleries[currentGalleryNo]["ThumbnailPath"].length > 1) {			
					var galleryIconImage = document.createElement("IMG");
					galleryIconImage.src = galleries[currentGalleryNo]["ThumbnailPath"];
					
					document.getElementById(this.id + 'galleryIcon').appendChild(galleryIconImage);
				}
				
				document.getElementById(this.id + 'galleryTitle').innerHTML = galleries[currentGalleryNo]["Title"];				
				document.getElementById(this.id + 'gallerySubTitle').innerHTML = galleries[currentGalleryNo]["ImageCounter"] + ' Bilder';
			}
		}
	}
	
	this.refresh = function() {
		this.loadImagesForGallery(galleries[currentGalleryNo]["PublicID"]);
	}
	
	this.displayImages = function() {
		nextGalleryScrollContainer.innerHTML = '';
		
		// For each Image
		var startCounter = currentPage * this.limit;
		var stopCounter = (currentPage + 1) * this.limit;
		
		if(stopCounter > images.length) {
			stopCounter = images.length;
		}
	
		for (z1=startCounter; z1 < stopCounter; z1++) {
		
			thumbnail = document.createElement("DIV");
			thumbnail.id = this.id + 'thumbnail' + z1;
			thumbnail.className = 'thumbnail';
			eval("thumbnail.onclick = function() { " + this.name + ".showImage(" + z1 + "); };")	
			
			thumbnailImage = document.createElement("IMG");
			thumbnailImage.id = this.id + z1;
			thumbnailImage.className = 'thumbnailImage';
			thumbnailImage.src = images[z1]["ThumbnailPath"];
			
			thumbnail.appendChild(thumbnailImage);
			
			nextGalleryScrollContainer.appendChild(thumbnail);
		}
			
		if(this.type!='mini') {
			// Refresh Scrollbar
			document.getElementById(this.id + 'galleryScrollbar').style.display = 'block';
			document.getElementById(this.id + 'galleryScrollbarPageDisplay').innerHTML = 'Seite ' + (currentPage + 1) + ' von ' + Math.ceil(images.length / this.limit);	
		}	
		
		if(currentPage + 1 == Math.ceil(images.length / this.limit)) {
			document.getElementById(this.id + 'galleryScrollRightButton').className = 'galleryScrollButton right inactive';
			if(this.type!='mini') {				
				document.getElementById(this.id + 'galleryScrollbarRightArrow').className = 'arrow right inactive';
			}
		} else {
			document.getElementById(this.id + 'galleryScrollRightButton').className = 'galleryScrollButton right';
			if(this.type!='mini') {	
				document.getElementById(this.id + 'galleryScrollbarRightArrow').className = 'arrow right';
			}
		}
			
		if(currentPage == 0) {
			document.getElementById(this.id + 'galleryScrollLeftButton').className = 'galleryScrollButton left inactive';
			if(this.type!='mini') {
				document.getElementById(this.id + 'galleryScrollbarLeftArrow').className = 'arrow left inactive';
			}
		} else {
			document.getElementById(this.id + 'galleryScrollLeftButton').className = 'galleryScrollButton left';
			if(this.type!='mini') {
				document.getElementById(this.id + 'galleryScrollbarLeftArrow').className = 'arrow left';
			}			
		}
		
		swapGalleryScrollContainer = currentGalleryScrollContainer;
		currentGalleryScrollContainer = nextGalleryScrollContainer;
		nextGalleryScrollContainer = swapGalleryScrollContainer;

		if(displayImageInnerId!='none') {
			// Show Image
			this.showImage(displayImageInnerId);
			
			this.displayImageId = false;
			displayImageInnerId = 'none';
		}
	}
	
	this.prevGalleryPage = function() {
		if(currentPage >= 1) {
			currentPage--;
			this.displayImages();
			currentGalleryScrollContainer.style.left = '-717px';
			startMoveBoxEffect(currentGalleryScrollContainer, 'right', 24, 50, false);						
			startMoveBoxEffect(nextGalleryScrollContainer, 'right', 717, 50, false);
		}
	}

	this.nextGalleryPage = function() {
		if(currentPage + 1< Math.ceil(images.length / this.limit)) {
			currentPage++;
			this.displayImages();
			currentGalleryScrollContainer.style.left = '717px';
			startMoveBoxEffect(currentGalleryScrollContainer, 'left', 24, 50, false);						
			startMoveBoxEffect(nextGalleryScrollContainer, 'left', -717, 50, false);
		}
	}
	
	this.showImage = function(id) {
		if(!loginToView || userLoggedIn) {
			currentImageId = id;
			if(appManager.isAppReady('GALLERYVIEWER')) {
				if(!this.imageViewer) {
					this.imageViewer = new PhotoGalleryViewerClass();
					this.imageViewer.id = this.id + 'imageViewer';
					this.imageViewer.name = this.name + '.imageViewer';		
					this.imageViewer.images = images;
					this.imageViewer.galleryId = currentGalleryId;
					this.imageViewer.galleryInfo = galleryInfo; 
					this.imageViewer.eventHandler = this;
					this.imageViewer.selectedImageId = images[id]["PublicID"];
					this.imageViewer.init();		
				} else {
					this.imageViewer.images = images;	
					this.imageViewer.galleryId = currentGalleryId;
					this.imageViewer.galleryInfo = galleryInfo; 
					this.imageViewer.eventHandler = this;
					this.imageViewer.selectedImageId = images[id]["PublicID"];					
					this.imageViewer.init();	
				}
			} else {
				showImageAppNeeded = true;
			}
		} else {
			this.messageWindow = new MessageWindowClass();
			this.messageWindow.className = 'eventCreatorMessageWindow';
			this.messageWindow.title = 'Bitte melde dich an';
			this.messageWindow.message = 'Du musst dich anmelden um das Foto in voller Gr&ouml;&szlig;e sehen zu k&ouml;nnen:<br /><br /><li><a href="/login/">Zur Anmeldung &raquo;</a>';
			this.messageWindow.name = this.name + '.messageWindow';
			this.messageWindow.displayCurtain = false;
			this.messageWindow.display();			
		}
	}
	
	this.showImageInt = function() {
		this.imageViewer = new PhotoGalleryViewerClass();
		this.imageViewer.id = this.id + 'imageViewer';
		this.imageViewer.name = this.name + '.imageViewer';
		
		if(showImageAppNeeded) {
			this.showImage(currentImageId);
		}
	}
	
	this.showGallerySelector = function() {
		if(gallerySelectorVisible) {
			gallerySelectorVisible = false;
			document.getElementById(this.id + 'gallerySelector').style.visibility = 'hidden';
			if(this.type!='mini') {
				document.getElementById(this.id + 'headerTitle').innerHTML = '';
				document.getElementById(this.id + 'headerSelectorEntry').className = 'selectorEntry single';
				if(isEditable) {
					document.getElementById(this.id + 'rightHeaderSelector').style.display = 'none';
				}
			}
		} else {
			gallerySelectorVisible = true;
			document.getElementById(this.id + 'gallerySelector').style.visibility = 'visible';
			if(this.type!='mini') {
				document.getElementById(this.id + 'headerTitle').innerHTML = '<span class="light">W&auml;hle ein Album aus...</span>';
				document.getElementById(this.id + 'headerSelectorEntry').className = 'selectorEntry single selected';				
				if(isEditable) {
					document.getElementById(this.id + 'rightHeaderSelector').style.display = 'block';
				}
			}
		}
	}
	
	this.addImage = function() {
		if(addImageAppReady) {
			this.addImageApp = new UploadPhotoAppClass();
			this.addImageApp.id = this.id + 'addImageApp';
			this.addImageApp.name = this.name + '.addImageApp';
			this.addImageApp.appId = this.appId;		
			this.addImageApp.gallery = currentGalleryId;
			this.addImageApp.eventHandler = this;
			this.addImageApp.init();		
			this.addImageApp.show();
		} else {
			addImageAppNeeded = true;
			appManager.addApp('FOTOUPLOADAPP', false, this.name + '.addImageInt');
			appManager.startApp('FOTOUPLOADAPP');
			
		}
	}
	
	this.imageUploadComplete = function() {
		this.loadImagesForGallery(currentGalleryNo);
	}
	
	this.addImageInt = function() {
		addImageAppReady = true;
		
		if(addImageAppNeeded) {
			this.addImage();
		}
	}
	
	this.displayErrorMessage = function(message) {
		var errorMessage = document.createElement("DIV");
		errorMessage.className = 'noImagesInGalleryMessage';
		errorMessage.innerHTML = message;
		
		currentGalleryScrollContainer.innerHTML = '';			
		currentGalleryScrollContainer.appendChild(errorMessage);
		
		if(this.type != 'mini') {		
			document.getElementById(this.id + 'galleryScrollbar').style.display = 'none';	

			document.getElementById(this.id + 'galleryScrollLeftButton').className = 'galleryScrollButton left inactive';
			document.getElementById(this.id + 'galleryScrollbarLeftArrow').className = 'arrow left inactive';
			document.getElementById(this.id + 'galleryScrollRightButton').className = 'galleryScrollButton right inactive';
			document.getElementById(this.id + 'galleryScrollbarRightArrow').className = 'arrow right inactive';		
		}
		
		currentGalleryScrollContainer.style.left = '24px';
		nextGalleryScrollContainer.style.left = '717px';

		// Refresh ProfilePage-Proportions
		refreshContentContainer();		
	}
	
	this.showAppOptions = function() {
		this.appOptionsWindow = windowManager.newWindow();
		this.appOptionsWindow.setHeader("Einstellungen");
		this.appOptionsWindow.setSubHeader("Einstellungen f&uuml;r die Fotoalben.");
		this.appOptionsWindow.show();
	}
	
	this.addGallery = function() {
		this.addGalleryInputWindow = new AddPhotoGalleryWindowClass();
		this.addGalleryInputWindow.name = this.name + '.addGalleryInputWindow';
		this.addGalleryInputWindow.id = this.id + 'addGalleryInputWindow';
		this.addGalleryInputWindow.eventHandler = this;
		this.addGalleryInputWindow.isUserGalleryApp = isUserGalleriesApp;
		this.addGalleryInputWindow.display();
	}
	
	this.addGalleryInt = function(id, title, privacy) {
		if(id = this.id + 'addGalleryInputWindow' && title) {
			var output = new Object();

			output.appId = this.appId;
			output.galleryTitle = encodeURIComponent(title);
			output.privacySettings = privacy;

			outputString = JSONstring.make(output);
	
			jsonPostData('jsApi/photos/add/galleryToGalleryApp', escape(outputString), this.name + '.addGalleryIntInt');
		}
	}
	
	this.addGalleryIntInt = function(Object) {
		if(Object["status"]=='ok') {
			this.loadGalleries();
		}
	}
	
	this.editGallery = function() {
		this.addGalleryInputWindow = new AddPhotoGalleryWindowClass();
		this.addGalleryInputWindow.name = this.name + '.addGalleryInputWindow';
		this.addGalleryInputWindow.id = this.id + 'addGalleryInputWindow';
		this.addGalleryInputWindow.eventHandler = this;
		this.addGalleryInputWindow.galleryTitle = galleries[currentGalleryNo]["Title"];
		this.addGalleryInputWindow.privacySetting = galleries[currentGalleryNo]["PrivacySettings"];	
		this.addGalleryInputWindow.isUserGalleryApp = isUserGalleriesApp;	
		this.addGalleryInputWindow.display();
	}
	
	this.editGalleryInt = function(id, title, privacy) {
		if(id = this.id + 'addGalleryInputWindow' && title) {
			var output = new Object();

			output.appId = this.appId;
			output.galleryId = currentGalleryId;
			output.galleryTitle = encodeURIComponent(title);
			output.privacySettings = privacy;

			outputString = JSONstring.make(output);
	
			jsonPostData('jsApi/photos/save/gallery', escape(outputString), this.name + '.addGalleryIntInt');
		}
	}	
	
	this.deleteGallery = function() {
		this.deleteImageWindow = new MessageWindowClass();
		this.deleteImageWindow.name = this.name + '.deleteImageWindow';
		this.deleteImageWindow.className = 'eventCreatorMessageWindow';
		this.deleteImageWindow.title = 'Wirklich l&ouml;schen?';
		this.deleteImageWindow.message = 'M&ouml;chtest du das Album und dessen Fotos wirklich l&ouml;schen?';
		this.deleteImageWindow.defaultValue = 'L' + String.fromCharCode(246) + 'schen';
		this.deleteImageWindow.displayCancelButton = true;
		this.deleteImageWindow.call = this.name + '.deleteGalleryInt()';
		this.deleteImageWindow.displayCurtain = false;
		this.deleteImageWindow.display();		
	}
	
	this.deleteGalleryInt = function() {
		if(currentGalleryId) {
			var output = new Object();
	
			output.galleryId = currentGalleryId;
	
			outputString = JSONstring.make(output);
	
			jsonPostData('jsApi/photos/delete/gallery', escape(outputString), this.name + '.deleteGalleryIntInt');
		}
	}
	
	this.deleteGalleryIntInt = function() {
		this.loadGalleries();
		this.showGallerySelector();		
	}
	
	this.buildContainer = function() {
		// Build ImageSelector
		this.box.className = this.box.className + ' dark';	

		if(this.type!= 'mini') {		
			var header = document.createElement("DIV");
			header.id = this.id + 'header';
			header.className = 'header';
		
			var headerSelector = document.createElement("DIV");
			headerSelector.className = 'headerSelector dark left';
			headerSelector.style.width = '140px';
			
			var headerSelectorEntry = document.createElement("DIV");
			headerSelectorEntry.id = this.id + 'headerSelectorEntry';
			headerSelectorEntry.className = 'selectorEntry single';
			headerSelectorEntry.innerHTML = 'Alle Alben anzeigen';
			eval("headerSelectorEntry.onclick = function() { " + this.name + ".showGallerySelector(); };");	
			
			headerSelector.appendChild(headerSelectorEntry);		
			
			var headerTitle = document.createElement("DIV");
			headerTitle.id = this.id + 'headerTitle';
			headerTitle.className = 'headerTitle';
			
			if(isEditable) {
				var rightHeaderSelector = document.createElement("DIV");
				rightHeaderSelector.id = this.id + 'rightHeaderSelector';
				rightHeaderSelector.className = 'headerSelector dark right';
				rightHeaderSelector.style.display = 'none';
				
				var rightHeaderSelectorEntry = document.createElement("DIV");
				rightHeaderSelectorEntry.className = 'selectorEntry single';
				rightHeaderSelectorEntry.innerHTML = 'Neues Album hinzuf&uuml;gen';
				eval("rightHeaderSelectorEntry.onclick = function() { " + this.name + ".addGallery(); };");
				
				rightHeaderSelector.appendChild(rightHeaderSelectorEntry);		
				
				header.appendChild(rightHeaderSelector);
			}
			
			header.appendChild(headerTitle);			
			header.appendChild(headerSelector);		
		} else {
			var header = document.createElement("DIV");
			header.className = 'photoGalleryHeader';
			header.id = this.id + 'header';
			
			var galleryHeaderTitle = document.createElement("DIV");
			galleryHeaderTitle.className = 'galleryHeaderTitle';
			galleryHeaderTitle.id = this.id + 'galleryHeaderTitle';
			
			if(isEditable) {
				galleryHeaderOptions = document.createElement("DIV");
				galleryHeaderOptions.id = this.id + 'galleryOptions';
				galleryHeaderOptions.className = 'headerOptions';
				galleryHeaderOptions.innerHTML = '<li><a href="Javascript:' + escape(this.name) + '.addImage();">Fotos hinzuf&uuml;gen</a></li>';
				
				header.appendChild(galleryHeaderOptions);				
			}
			
			header.appendChild(galleryHeaderTitle);	
		}
		
		header.style.position = 'relative';
		
		this.box.appendChild(header);
		
		var photoGalleryContainer = document.createElement("DIV");
		photoGalleryContainer.id = this.id + 'galleryContainer';
		photoGalleryContainer.className = 'photoGalleryContainer gallerySelectorVisible';	
		
		if(this.type!='mini') {
			var gallerySelector = document.createElement("DIV");
			gallerySelector.id = this.id + 'gallerySelector';
			gallerySelector.className = 'gallerySelector';
	
			var galleryHeader = document.createElement("DIV");
			galleryHeader.className = 'galleryHeader';
			galleryHeader.id = this.id + 'galleryHeader';
	
			var galleryIcon = document.createElement("DIV");
			galleryIcon.className = 'galleryIcon';
			galleryIcon.id = this.id + 'galleryIcon';
			
			var galleryTitle = document.createElement("DIV");
			galleryTitle.className = 'galleryTitle';
			galleryTitle.id = this.id + 'galleryTitle';
	
			var gallerySubTitle = document.createElement("DIV");
			gallerySubTitle.className = 'gallerySubTitle';
			gallerySubTitle.id = this.id + 'gallerySubTitle';
	
			var galleryOptions = document.createElement("DIV");
			galleryOptions.id = this.id + 'galleryOptions';
			galleryOptions.className = 'galleryOptions';

			var deleteGalleryButton = document.createElement("DIV");
			deleteGalleryButton.id = this.id + 'deleteGalleryButton';
			deleteGalleryButton.className = 'optionsButton';
			eval("deleteGalleryButton.onclick = function() { " + this.name + ".deleteGallery(); };");			
			
			var deleteGalleryIcon = document.createElement("IMG");
			deleteGalleryIcon.src = '/images/style/icons/photoGalleriesApp/deleteGalleryIcon.gif';
			deleteGalleryIcon.style.marginLeft = '5px';
			
			var deleteGalleryLabel = document.createElement("DIV");
			deleteGalleryLabel.className = 'label';
			deleteGalleryLabel.innerHTML = 'L&ouml;schen';
			
			deleteGalleryButton.appendChild(deleteGalleryIcon);
			deleteGalleryButton.appendChild(deleteGalleryLabel);			
			
			var gallerySettingsButton = document.createElement("DIV");
			gallerySettingsButton.id = this.id + 'gallerySettingsButton';
			gallerySettingsButton.className = 'optionsButton';
			eval("gallerySettingsButton.onclick = function() { " + this.name + ".editGallery(); };");			
			
			var gallerySettingsIcon = document.createElement("IMG");
			gallerySettingsIcon.src = '/images/style/icons/photoGalleriesApp/gallerySettingsIcon.gif';
			
			var gallerySettingsLabel = document.createElement("DIV");
			gallerySettingsLabel.className = 'label';
			gallerySettingsLabel.innerHTML = 'Bearbeiten';
			
			gallerySettingsButton.appendChild(gallerySettingsIcon);
			gallerySettingsButton.appendChild(gallerySettingsLabel);
			
			var addImagesButton = document.createElement("DIV");
			addImagesButton.id = this.id + 'addImagesButton';
			addImagesButton.className = 'optionsButton';
			eval("addImagesButton.onclick = function() { " + this.name + ".addImage(); };");
			
			var addImagesIcon = document.createElement("IMG");
			addImagesIcon.src = '/images/style/icons/photoGalleriesApp/addImagesIcon.gif';			

			var addImagesLabel = document.createElement("DIV");
			addImagesLabel.className = 'label';
			addImagesLabel.innerHTML = 'Fotos hinzuf&uuml;gen';			
			
			addImagesButton.appendChild(addImagesIcon);
			addImagesButton.appendChild(addImagesLabel);

			galleryOptions.appendChild(deleteGalleryButton);			
			galleryOptions.appendChild(gallerySettingsButton);
			galleryOptions.appendChild(addImagesButton);
			
			galleryHeader.appendChild(galleryIcon);		
			galleryHeader.appendChild(galleryTitle);
			galleryHeader.appendChild(gallerySubTitle);
			galleryHeader.appendChild(galleryOptions);
		}
		
		var galleryThumbnails = document.createElement("DIV");
		galleryThumbnails.id = this.id + 'galleryThumbnails';
		galleryThumbnails.className = 'galleryThumbnails';

		var galleryFirstThumbnailScrollContainer = document.createElement("DIV");
		galleryFirstThumbnailScrollContainer.id = this.id + 'galleryFirstThumbnailScrollContainer';
		galleryFirstThumbnailScrollContainer.className = 'galleryFirstThumbnailScrollContainer';

		var gallerySecondThumbnailScrollContainer = document.createElement("DIV");
		gallerySecondThumbnailScrollContainer.id = this.id + 'gallerySecondThumbnailScrollContainer';
		gallerySecondThumbnailScrollContainer.className = 'gallerySecondThumbnailScrollContainer';

		var galleryScrollLeftButton = document.createElement("DIV");
		galleryScrollLeftButton.id = this.id + 'galleryScrollLeftButton';
		galleryScrollLeftButton.className = 'galleryScrollButton left';
		galleryScrollLeftButton.innerHTML = '<table height="100%"><tr><td valign="center" style="color: #AAAAAA;">&laquo;</td></tr></table>';
		eval("galleryScrollLeftButton.onclick = function() { " + this.name + ".prevGalleryPage(); }");
		eval("galleryScrollLeftButton.onmouseover = function() { if(this.className != 'galleryScrollButton left inactive') { this.className = 'galleryScrollButton left'; } };");	
		eval("galleryScrollLeftButton.onmouseout = function() { if(this.className != 'galleryScrollButton left inactive') { this.className = 'galleryScrollButton left'; } };");	
				
		var galleryScrollRightButton = document.createElement("DIV");
		galleryScrollRightButton.id = this.id + 'galleryScrollRightButton';
		galleryScrollRightButton.className = 'galleryScrollButton right';
		galleryScrollRightButton.innerHTML = '<table height="100%"><tr><td valign="center" style="color: #AAAAAA;">&raquo;</td></tr></table>';
		eval("galleryScrollRightButton.onclick = function() { " + this.name + ".nextGalleryPage(); }");
		eval("galleryScrollRightButton.onmouseover = function() { if(this.className != 'galleryScrollButton right inactive') { this.className = 'galleryScrollButton right'; } };");	
		eval("galleryScrollRightButton.onmouseout = function() { if(this.className != 'galleryScrollButton right inactive') { this.className = 'galleryScrollButton right'; } };");		
		
		galleryThumbnails.appendChild(galleryFirstThumbnailScrollContainer);
		galleryThumbnails.appendChild(gallerySecondThumbnailScrollContainer);
		galleryThumbnails.appendChild(galleryScrollLeftButton);
		galleryThumbnails.appendChild(galleryScrollRightButton);
		
		if(this.type != 'mini') {
			var galleryScrollbar = document.createElement("DIV");
			galleryScrollbar.id = this.id + 'galleryScrollbar';
			galleryScrollbar.className = 'galleryScrollbar';
	
			var galleryScrollbarPageDisplay = document.createElement("DIV");
			galleryScrollbarPageDisplay.id = this.id + 'galleryScrollbarPageDisplay';
			galleryScrollbarPageDisplay.className = 'label';
	
			var galleryScrollbarLeftArrow = document.createElement("IMG");
			galleryScrollbarLeftArrow.id = this.id + 'galleryScrollbarLeftArrow';
			galleryScrollbarLeftArrow.src = '/images/style/arrows/greyArrowLeftActive.gif';
			galleryScrollbarLeftArrow.className = 'arrow left';
			eval("galleryScrollbarLeftArrow.onclick = function() { " + this.name + ".prevGalleryPage(); };");
	
			var galleryScrollbarRightArrow = document.createElement("IMG");
			galleryScrollbarRightArrow.id = this.id + 'galleryScrollbarRightArrow';
			galleryScrollbarRightArrow.src = '/images/style/arrows/greyArrowRightActive.gif';
			galleryScrollbarRightArrow.className = 'arrow right';
			eval("galleryScrollbarRightArrow.onclick = function() { " + this.name + ".nextGalleryPage(); };");
	
			galleryScrollbar.appendChild(galleryScrollbarPageDisplay);
			galleryScrollbar.appendChild(galleryScrollbarLeftArrow);
			galleryScrollbar.appendChild(galleryScrollbarRightArrow);
			
			photoGalleryContainer.appendChild(galleryHeader);				
		}

		photoGalleryContainer.appendChild(galleryThumbnails);		

		if(this.type != 'mini') {		
			photoGalleryContainer.appendChild(galleryScrollbar);
			photoGalleryContainer.appendChild(gallerySelector);
		}		
		
		document.getElementById(this.id).appendChild(photoGalleryContainer);		
	}		
}

function photosPhotoGalleriesAppjs() {}
