if((navigator.appVersion.indexOf("MSIE") != -1) && document.getElementById('galleryPU')) {
	galleryPU = document.getElementById('galleryPU');
	dragBar = document.getElementById('dragBar');
}

window.onload = init;

function init() {
	
	fillRandomGallery('randomGallery');
	linkRandomGallery('randomGallery');
	handleDisplaySubNavi('subnavi');
	linkMainnaviForSubnavi('firstLevel');
	//if(document.getElementById('gallery')) buildZoomLinks('gallery');
	pageStartUpNews('newsNavi');
	pageStartUpGallery('galleryPU');

} // function init


function pageStartUpGallery(theId) {
	
	if((navigator.appVersion.indexOf("MSIE") == -1) && document.getElementById('galleryPU')) {
		galleryPU = document.getElementById('galleryPU');
		dragBar = document.getElementById('dragBar');
	}
	
	// Fenster schließen verlinken
	if(document.getElementById(theId)) {
		var closeLink = document.getElementById('closeWindow');
		if(navigator.appVersion.indexOf("MSIE") != -1) closeLink.href = '#';
		closeLink.style.cursor = 'pointer';
		closeLink.onclick = hidePU;
	}
	
	// Galerie Thumbnails verlinken
	if(document.getElementById('gallery')) {
		var theGallery = document.getElementById('gallery');
		var galleryLinks = theGallery.getElementsByTagName('A');
		for(var i=0; i<galleryLinks.length; i++) {
			var theLink = galleryLinks[i];
			if(theLink.className.indexOf('regularLink') == -1) {
				if(navigator.appVersion.indexOf("MSIE") != -1) theLink.href = '#';
				theLink.style.cursor = 'pointer';
				theLink.onclick = selectImgPerThumbnail;
			}
		}
	}
	
	// Loading-gif erstellen
	if(document.getElementById(theId)) {
		var loadingBox = document.createElement('div');
		var loadingGif = new Image();
		loadingBox.className = 'hide';
		loadingBox.id = 'loadingBox';
		loadingBox.style.textAlign = 'center';
		loadingBox.style.width = '100%';
		loadingGif.src = theLevel + 'neutral/layout/loading.gif';
		loadingBox.appendChild(loadingGif);
		document.getElementById('puContent').appendChild(loadingBox);
	}
	
	if(document.getElementById(theId)) {
		dragBar.style.cursor = 'move';
		dragBar.onmousedown = dragGalleryPU;
		dragBar.onmouseup = dropGalleryPU;
	}
	
} // function pageStartUpGallery


function dragGalleryPU (e) {

	if(galleryPU) {
		if(navigator.appVersion.indexOf("MSIE") == -1) event = e;
		startX = event.clientX;
		startY = event.clientY;
		galleryPU.style.zIndex = 100;
		
		if(navigator.appVersion.indexOf("MSIE") != -1) XpositionAlt = galleryPU.offsetLeft;
		else XpositionAlt = getStyle(galleryPU, "left");
		YpositionAlt = getStyle(galleryPU, "top");

		galleryPU.onmousemove = movePU;
		return false;
	} 
	
} // function dragGalleryPU


function movePU (e) {
	
	if(galleryPU) {
		if(navigator.appVersion.indexOf("MSIE") == -1) event = e;
		Xwert = event.clientX - startX;
		Ywert = event.clientY - startY;
		newX = parseInt(XpositionAlt) + Xwert;
		newY = parseInt(YpositionAlt) + Ywert;
		setStyle(galleryPU, 'left', newX + 'px');
		setStyle(galleryPU, 'top', newY + 'px');
	}
	return false;
	
} // function movePU

	
function dropGalleryPU() {
	
	galleryPU.onmousemove = null;
	
} // function dropGalleryPU



function selectImgPerThumbnail() {

	// Bild-SRC ermitteln
	var theGallery = document.getElementById('gallery');
	var galleryBox = this.parentNode.parentNode;
	var theImgs = galleryBox.getElementsByTagName('IMG');
	var theImg = theImgs[0];
	var suffix = theGallery.className;
	var pointPos = theImg.src.lastIndexOf('.');
	imgSrc = theImg.src.substring(0, pointPos);
	imgFile = theImg.src.substring(pointPos, theImg.src.length);
	
	// PU sichtbar machen
	showPU();
	
	// Thumbnail selektieren
	selectThumbnail(galleryBox);

	var puContent = document.getElementById('puContent');
	var thePUImgs = puContent.getElementsByTagName('IMG');
	var thePUImg = thePUImgs[0];
	
	// Loading anzeigen
	var loadingBox = document.getElementById('loadingBox');
	loadingBox.className = 'show';
	
	// PU-IMG befüllen
	thePUImg.src = imgSrc + suffix + imgFile;
	var counter = 0;
	thePUImg.onload = function() { 
		counter++;
		if (counter == 1) loadingBox.className = 'hide';
	};
	//if(thePUImg.complete) loadingBox.className = 'hide';		
				
	thePUImg.alt = theImg.alt;
	
	// PU Text vefüllen
	var puText = document.getElementById('puText');
	puText.innerHTML = theImg.alt;
	
	// Paging handeln
	handleGalleryPaging();
	
} // function selectImgPerThumbnail


function selectImgPerPager() {
	
	// wer ist bisher ausgewählt 
	var selectedItem; 
	var theGallery =	document.getElementById('gallery'); 
	var divArray = theGallery.getElementsByTagName('DIV'); 
	for(var i=0; i<divArray.length; i++) { 
		if(divArray[i].className.indexOf('selected') > -1) { 
			selectedItem = divArray[i]; 
			break; 
		} 
	}
	
	// wo wurde draufgeklick und wo will man folglich hin
	var newSelectedItem;
	var nextDiv = selectedItem;
	var prevDiv = selectedItem;
	switch (this.id) {
		// Zum ältesten Eintrag
		case 'pager_first':
			newSelectedItem = divArray[0];
			break;
		// Zum nächsten Bild
		case 'pager_next':
			// IE hat kein Whitespace-Element im DOM
			if(navigator.appVersion.indexOf("MSIE") != -1) {
				//newSelectedItem = selectedItem.nextSibling;
				do {nextDiv = nextDiv.nextSibling;}
				while (!((nextDiv.tagName == 'DIV') && (nextDiv.className.indexOf('galleryBox') > -1)));
				newSelectedItem = nextDiv;
			}
			else {
      	//newSelectedItem = selectedItem.nextSibling.nextSibling;
      	do {nextDiv = nextDiv.nextSibling.nextSibling;}
      	while (!((nextDiv.tagName == 'DIV') && (nextDiv.className.indexOf('galleryBox') > -1)));
				newSelectedItem = nextDiv;
      }
			break;
		// zum vorherigen Bild
		case 'pager_previous':
			// IE hat kein Whitespace-Element im DOM
			if(navigator.appVersion.indexOf("MSIE") != -1) {
				//newSelectedItem = selectedItem.previousSibling;
				do {prevDiv = prevDiv.previousSibling;}
				while (!((prevDiv.tagName == 'DIV') && (prevDiv.className.indexOf('galleryBox') > -1)));
				newSelectedItem = prevDiv;
			}
			else {
      	//newSelectedItem = selectedItem.previousSibling.previousSibling;
      	do {prevDiv = prevDiv.previousSibling.previousSibling;}
      	while (!((prevDiv.tagName == 'DIV') && (prevDiv.className.indexOf('galleryBox') > -1)));
				newSelectedItem = prevDiv;
      }
			break;
			
		// zum letzten Bild
		case 'pager_last':
			newSelectedItem = divArray[divArray.length - 1];
			break;
	}

	// Bild-SRC ermitteln
	var theImgs = newSelectedItem.getElementsByTagName('IMG');
	var theImg = theImgs[0];
	var suffix = theGallery.className;
	var pointPos = theImg.src.lastIndexOf('.');
	imgSrc = theImg.src.substring(0, pointPos);
	imgFile = theImg.src.substring(pointPos, theImg.src.length);
	
	// Thumbnail selektieren
	selectThumbnail(newSelectedItem);

	var puContent = document.getElementById('puContent');
	var thePUImgs = puContent.getElementsByTagName('IMG');
	var thePUImg = thePUImgs[0];
	
	// Loading anzeigen
	var loadingBox = document.getElementById('loadingBox');
	loadingBox.className = 'show';
	
	// PU-IMG befüllen
	thePUImg.src = imgSrc + suffix + imgFile;
	var counter = 0;
	thePUImg.onload = function() { 
		counter++;
		if (counter == 1) loadingBox.className = 'hide';
	};
	//if(thePUImg.complete) loadingBox.className = 'hide';
	
	thePUImg.alt = theImg.alt;
	
	// PU Text vefüllen
	var puText = document.getElementById('puText');
	puText.innerHTML = theImg.alt;
	
	// Paging handeln
	handleGalleryPaging();
	
} // function selectImgPerPager


function handleGalleryPaging () {
	
	var position;
	var theGallery = document.getElementById('gallery');

	var divArray = theGallery.getElementsByTagName('DIV');
	
	for(var i=0; i<divArray.length; i++) {
		if(divArray[i].className.indexOf('selected') > -1) {
			position = i+1;
			break;
		}
	}

	var pagerBlock = document.getElementById('pager');
	var linkArray = pagerBlock.getElementsByTagName('A');
	
	// alle enablen
	for(var i=0; i<linkArray.length; i++) {
		var imgArray = linkArray[i].getElementsByTagName('IMG');
		var theImg = imgArray[0];
		theImg.src = theLevel + 'neutral/layout/' + linkArray[i].id + '.gif';
	}

	// letztes Bild - letzte disablen
	if(position == divArray.length) {
		var lastPager = document.getElementById('pager_last');
		var lastImgArray = lastPager.getElementsByTagName('IMG');
		var lastImg = lastImgArray[0];
		lastImg.src = theLevel + 'neutral/layout/' + lastPager.id + '-light.gif';
		
		var nextPager = document.getElementById('pager_next');
		var nextImgArray = nextPager.getElementsByTagName('IMG');
		var nextImg = nextImgArray[0];
		nextImg.src = theLevel + 'neutral/layout/' + nextPager.id + '-light.gif';
	}
	// erstes Bild - erste disablen
	if(position == 1) {
		var firstPager = document.getElementById('pager_first');
		var firstImgArray = firstPager.getElementsByTagName('IMG');
		var firstImg = firstImgArray[0];
		firstImg.src = theLevel + 'neutral/layout/' + firstPager.id + '-light.gif';
		
		var prevPager = document.getElementById('pager_previous');
		var prevImgArray = prevPager.getElementsByTagName('IMG');
		var prevImg = prevImgArray[0];
		prevImg.src = theLevel + 'neutral/layout/' + prevPager.id + '-light.gif';
	}
	
	// alle nicht disabled verlinken
	for(var i=0; i<linkArray.length; i++) {
		var imgArray = linkArray[i].getElementsByTagName('IMG');
		var theImg = imgArray[0];
		var theLink = linkArray[i];
		if(theImg.src.indexOf('-light') == -1) {
			theLink.style.cursor = 'pointer';
			theLink.onclick = selectImgPerPager;	
		} else {
			theLink.style.cursor = 'default';
			theLink.onclick = null;
		}
	}
	
} // function handleGalleryPaging


function selectThumbnail(galleryBox) {
	
	// alle Thumbnails erst mal deselektieren
	var gallery = document.getElementById('gallery');
	var galleryBoxes = gallery.getElementsByTagName('DIV');
	for(var i=0; i<galleryBoxes.length; i++) {
		galleryBoxes[i].className = galleryBoxes[i].className.replace(/ selected/gi, '');
	}
	// ausgewählten Thumbnail selektieren
	galleryBox.className = galleryBox.className + ' selected';
	
} // function selectThumbnail


function showPU() {

	if(document.getElementById('galleryPU')) {
		var galleryPU = document.getElementById('galleryPU');
		galleryPU.className = galleryPU.className.replace(/hide/gi, 'show');
	}
	
} // function showPU


function hidePU() {

	if(document.getElementById('galleryPU')) {
		var galleryPU = document.getElementById('galleryPU');
		galleryPU.className = galleryPU.className.replace(/show/gi, 'hide');
	}
	
} // function hideItem


function pageStartUpNews(theId) {

	if(document.getElementById(theId)) {
		var theNewsNaviBlock = document.getElementById(theId);
		var linkArray = theNewsNaviBlock.getElementsByTagName('A');
		
		var theURL = document.location.href;
		var hashPos = theURL.lastIndexOf('#');
		//var clearHref = theURL.substring(0, hashPos);
		
		// Linkliste verlinken
		for(var i=0; i<linkArray.length; i++) {
			var theLink = linkArray[i];
			theLink.style.cursor = 'pointer';
			// IE Bug: a-Tag braucht href, sonst wird nicht gehovert
			if(navigator.appVersion.indexOf("MSIE") != -1) {
				var theSubfix;
				if(theURL.indexOf('start.html') == (theURL.length - 10)) theSubfix = '#';
				else {
					var theDate = theURL.substring(hashPos + 1, theURL.length);
					theSubfix = '#' + theDate;
				}
        theLink.href = theSubfix;
      }
      theLink.onclick = displayItemFromLinklist;
		}
		
		// Entsprechenden Eintrag anzeigen
		// Default: Kein #date hintendran. Hört mit .html auf
		if(theURL.lastIndexOf('.html') == (theURL.length - 5)) {
			// Default: Ersten Eintrag anzeigen
			var theNewsBlock = document.getElementById('pseudoPopup');
			var divArray = theNewsBlock.getElementsByTagName('DIV');
    	displayItem(divArray[0]);
		}
		// Von Startseite kommend
		else {
			// Ausgewählten Eintrag anzeigen
			var theIdString = theURL.substring(hashPos + 1, theURL.length);
			var theObj = document.getElementById(theIdString);
			displayItem(theObj);
		}
		
		linkInternalDateLinks('pseudoPopup');
		
	}
	
} // function pageStartUpNews


// Auf Newsseiten: interne Links zu anderen Newseinträgen verlinken
// erkennbar an der id 'toshow_yyyymmdd'
// dieser Eintrag wird unsichtbar gemacht, der verlinkte wird sichtbar gemacht
function linkInternalDateLinks(theId) {
	
	var theNewsBlock = document.getElementById(theId);
	var linkArray = theNewsBlock.getElementsByTagName('A');
	for(var i=0; i<linkArray.length; i++) {
		if(linkArray[i].id.indexOf('toshow_') > -1) {
			var theLink = linkArray[i];
			var shownItemId = theLink.id.substring(7, theLink.id.length);
			var shownItem = document.getElementById(shownItemId);

			var hiddenItem = theLink;
			do {hiddenItem = hiddenItem.parentNode;}
			while (hiddenItem.parentNode.id != 'pseudoPopup');

			theLink.style.cursor = 'pointer';
			theLink.onclick = function() {
				hideItem(hiddenItem);
				showItem(shownItem);
			};
			
		}
	}
	
} // function linkInternalDateLinks


function displayItem(theObj) {
	
	showItem(theObj);
	// Paging handeln
	handlePaging();
	
} // function displayItem


function displayItemFromLinklist() {

	var theNewsBlock = document.getElementById('pseudoPopup');
	var divArray = theNewsBlock.getElementsByTagName('DIV');
	for(var i=0; i<divArray.length; i++) {
		hideItem(divArray[i]);
	}
	var linkIdString = this.parentNode.parentNode.id.substring(5, this.parentNode.parentNode.id.length);
	showItem(document.getElementById(linkIdString));
	// Paging handeln
	handlePaging();
	
} // function displayItemFromLinklist


function displayItemFromPager() {

	// wer ist bisher ausgewählt 
	var selectedItem; 
	var theNewsBlock =	document.getElementById('pseudoPopup'); 
	var divArray = theNewsBlock.getElementsByTagName('DIV'); 
	for(var i=0; i<divArray.length; i++) { 
		if(divArray[i].className.indexOf('show') > -1) { 
			selectedItem = divArray[i]; 
			break; 
		} 
	}

	var lastNewsItem = divArray[0];

	if(navigator.appVersion.indexOf("MSIE") != -1) {
		if(lastNewsItem.nextSibling != null) {
			while (lastNewsItem.nextSibling) {
				lastNewsItem = lastNewsItem.nextSibling;
			}
		}
	}
  else {
  	if(lastNewsItem.nextSibling.nextSibling != null) {
	  	while (lastNewsItem.nextSibling.nextSibling) {
				lastNewsItem = lastNewsItem.nextSibling.nextSibling;
			}
		}
  }

	// wo wurde draufgeklick und wo will man folglich hin
	var newSelectedItem;
	switch (this.id) {
		// Zum ältesten Eintrag
		case 'pager_first':
			newSelectedItem = lastNewsItem;
			break;
		// Zum älteren Eintrag
		case 'pager_previous':
			// IE hat kein Whitespace-Element im DOM
			if(navigator.appVersion.indexOf("MSIE") != -1) newSelectedItem = selectedItem.nextSibling;
      else newSelectedItem = selectedItem.nextSibling.nextSibling;
			break;
		// zum neueren Eintrag
		case 'pager_next':
			// IE hat kein Whitespace-Element im DOM
			if(navigator.appVersion.indexOf("MSIE") != -1) newSelectedItem = selectedItem.previousSibling;
      else newSelectedItem = selectedItem.previousSibling.previousSibling;
			break;
		// zum neuesten Eintrag
		case 'pager_last':
			newSelectedItem = divArray[0];
			break;
	}
	
	for(var i=0; i<divArray.length; i++) {
		hideItem(divArray[i]);
	}
	showItem(newSelectedItem);
	// Paging handeln
	handlePaging();
	
} // function displayItemFromPager


function handlePaging() {

	var position;
	var theNewsBlock = document.getElementById('pseudoPopup');

	var divArray = theNewsBlock.getElementsByTagName('DIV');
	var j = 0;
	var numberOfItems = 0;
	
	for(var i=0; i<divArray.length; i++) {
		if(divArray[i].className.indexOf('newsItem') > -1) {
			j++;
			if(divArray[i].className.indexOf('show') > -1) {
				position = j;
				break;
			}
		}
	}
	for(var i=0; i<divArray.length; i++) {
		if(divArray[i].className.indexOf('newsItem') > -1) {
			numberOfItems++;
		}
	}

	var pagerBlock = document.getElementById('pager');
	var linkArray = pagerBlock.getElementsByTagName('A');
	
	// alle enablen
	for(var i=0; i<linkArray.length; i++) {
		var imgArray = linkArray[i].getElementsByTagName('IMG');
		var theImg = imgArray[0];
		theImg.src = theLevel + 'neutral/layout/' + linkArray[i].id + '.gif';
	}

	// neuester Newseintrag - letzte disablen
	if(position == 1) {
		var lastPager = document.getElementById('pager_last');
		var lastImgArray = lastPager.getElementsByTagName('IMG');
		var lastImg = lastImgArray[0];
		lastImg.src = theLevel + 'neutral/layout/' + lastPager.id + '-light.gif';
		
		var nextPager = document.getElementById('pager_next');
		var nextImgArray = nextPager.getElementsByTagName('IMG');
		var nextImg = nextImgArray[0];
		nextImg.src = theLevel + 'neutral/layout/' + nextPager.id + '-light.gif';
	}
	// ältester Newseintrag - erste disablen
	if(position == numberOfItems) {
		var firstPager = document.getElementById('pager_first');
		var firstImgArray = firstPager.getElementsByTagName('IMG');
		var firstImg = firstImgArray[0];
		firstImg.src = theLevel + 'neutral/layout/' + firstPager.id + '-light.gif';
		
		var prevPager = document.getElementById('pager_previous');
		var prevImgArray = prevPager.getElementsByTagName('IMG');
		var prevImg = prevImgArray[0];
		prevImg.src = theLevel + 'neutral/layout/' + prevPager.id + '-light.gif';
	}
	// alle nicht disabled verlinken
	for(var i=0; i<linkArray.length; i++) {
		var imgArray = linkArray[i].getElementsByTagName('IMG');
		var theImg = imgArray[0];
		var theLink = linkArray[i];
		if(theImg.src.indexOf('-light') == -1) {
			theLink.style.cursor = 'pointer';
			theLink.onclick = displayItemFromPager;		
		} else {
			theLink.style.cursor = 'default';
			theLink.onclick = null;
		}
	}
	
} // function handlePaging


function showItem(theObj) {

	theObj.className = theObj.className.replace(/hide/gi, 'show');
	
} // function showItem


function hideItem(theObj) {

	theObj.className = theObj.className.replace(/show/gi, 'hide');
	
} // function hideItem


function buildZoomLinks(theId) {
	
	var theGallery = document.getElementById(theId);
	var galleryLinks = theGallery.getElementsByTagName('A');
	for(var i=0; i<galleryLinks.length; i++) {
		if(galleryLinks[i].className.indexOf('buildZoom') > -1) {
			var theLink = galleryLinks[i];
			theLink.style.cursor = 'pointer';
			theLink.target = '_blank';
			var galleryBox = theLink.parentNode.parentNode;
			var theImgs = galleryBox.getElementsByTagName('IMG');
			var theImg = theImgs[0];
			var suffix = theGallery.className;
			var pointPos = theImg.src.lastIndexOf('.');
			imgSrc = theImg.src.substring(0, pointPos);
			imgFile = theImg.src.substring(pointPos, theImg.src.length);
			theLink.href = imgSrc + suffix + imgFile;
		}
	}
	
} // function buildZoomLinks


function linkMainnaviForSubnavi(theId) {
	
	if(document.getElementById(theId)) {
		var theMainNavi = document.getElementById(theId);
		var linkArray = theMainNavi.getElementsByTagName('A');
		for(var i = 0; i < linkArray.length; i++) {
			if(linkArray[i].id.indexOf('mainnavi_') > -1) {
				var  theLink = linkArray[i];
				theLink.style.cursor = 'pointer';
				theLink.onclick = handleSubNaviDisplayOnclick;
				// IE Bug: a-Tag braucht href, sonst wird nicht gehovert
				if(navigator.appVersion.indexOf("MSIE") != -1) {
          theLink.href = '#';
        }
			}
		}
	}
	
} // function linkMainnaviForSubnavi


function handleSubNaviDisplayOnclick() {
	
	// alle Hauptnavipunkte deselektieren
	var theMainNavi = document.getElementById('firstLevel');
	var linkArray = theMainNavi.getElementsByTagName('A');
	for(var i = 0; i < linkArray.length; i++) {
		linkArray[i].className = '';
	}
	// geklickten Hauptnavipunkt selektieren
	this.className = 'selected';
	// alle Subnavis ausblenden
	var subnaviBlock = document.getElementById('subnavi');
	var divArray = subnaviBlock.getElementsByTagName('DIV');
	for(var i = 0; i < divArray.length; i++) {
		divArray[i].className = 'hidden';
	}
	// geklickte Subnavis anzeigen
	var theID = this.id.substring(9, this.id.length);
	var subnaviIDString = 'subnavi_' + theID;
	var fittingSubNavi = document.getElementById(subnaviIDString);
	fittingSubNavi.className = 'show';
	
} // function handleSubNaviDisplayOnclick


// Macht alle Subnavi-Blöcke unsichtbar, deren Klasse nicht show ist
function handleDisplaySubNavi(theId) {
	
	if(document.getElementById(theId)) {
		var theSubnavi = document.getElementById(theId);
		var divArray = theSubnavi.getElementsByTagName('DIV');
		for(var i = 0; i < divArray.length; i++) {
			if(divArray[i].className.indexOf('show') < 0) divArray[i].className = 'hidden';
		}
	}
	
} // function handleDisplaySubNavi


/*
   Es gibt 3 Kategorien mit je x Bildern. Anzahl der Bilder variabel, Anzahl der Kategorien fest
   Aus jeder Kategorie wird per Zufall ein Bild gewählt
   Die Bilder liegen im Verzeichnis randomGallery und haben zwingend die Bildmaße 733px breit, 550px hoch
   Die Bilder werden automatisch per Klick in einem neuem Fenster geöffnet und in voller Größe angezeigt
   Bilder einer Kategorie beginnen immer mit demselben Kürzel (also k1_, k2_ oder k3_)
   Hinter dem Unterstrich folgt die fortlaufende Nummerierung ohne führende Null
   Es gibt wegen der Ladezeiten kleine Vorschaubilder mit den Maßen 160px breit, 120 pc hoch
   Diese Vorschaubilder haben vo der Dateiendung noch den Zusatz "-s" (also Namensbeispiel zweier zusammengehörender Bilder: k1_1.jpg, k1_1-s.jpg)
   Ich habe als Beispiel eine Kategorie mit dem Inhalt Pferde, eine mit dem Inhalt Licht und eine mit dem Inhalt Tiere angelegt
*/
function fillRandomGallery(theId) {
	
	if(document.getElementById(theId)) {
		// Hier kann die Anzahl der Fotos pro Kategorie angegeben werden
		var numberOf_k1 = 8;
		var numberOf_k2 = 8;
		var numberOf_k3 = 8;
		var randomGallery = document.getElementById(theId);
		var imgArray = randomGallery.getElementsByTagName('IMG');
		for(var i = 0; i < imgArray.length; i++) {
			var thisImg = imgArray[i];
			var numberOfThisCategory = eval('numberOf_' + thisImg.id);
			var randomNumber = generateRandomNumber(numberOfThisCategory - 1);
			thisImg.src = theLevel + 'neutral/randomGallery/' + thisImg.id + '_' + randomNumber + '-s.jpg';
		}
	}
	
} // function fillRandomGallery


function generateRandomNumber(maxNumber) {

   var randomNumber = Math.round(Math.random() * maxNumber) + 1;
   return randomNumber;
   
} // function generateRandomNumber


function linkRandomGallery(theId) {
	
	if(document.getElementById(theId)) {
		var randomGallery = document.getElementById(theId);
		var linkArray = randomGallery.getElementsByTagName('A');
		for(var i = 0; i < linkArray.length; i++) {
			var theLink = linkArray[i];
			var theImgs = theLink.getElementsByTagName('IMG');
			var theImg = theImgs[0];
			theLink.style.cursor = 'pointer';
			theLink.target = '_blank';
			
			var pointPos = theImg.src.lastIndexOf('.');
			var prefix = theImg.src.substring(0, pointPos - 2);
			var suffix = '.jpg';
			
			//theLink.href = theImg.src;
			theLink.href = prefix + suffix;
		}
	}
	
} // function linkRandomGallery


// Get the computed css property
function getStyle( element, cssRule ) {
	
  if( document.defaultView && document.defaultView.getComputedStyle )
  {
    var value = document.defaultView.getComputedStyle( element, '' ).getPropertyValue( 
      cssRule.replace( /[A-Z]/g, function( match, char ) 
      { 
        return "-" + char.toLowerCase(); 
      } ) 
    );
  }
  else if ( element.currentStyle ) var value = element.currentStyle[ cssRule ];
  else                             var value = false;
  return value;
  
}


// Set a style property
function setStyle( element, cssRule, value ) {
	
  var original = getStyle( element, cssRule );
  if ( !element.styleHistory )            
    element.styleHistory = new Array();
  if ( !element.styleHistory[ cssRule ] ) 
    element.styleHistory[ cssRule ] = new Array();
  element.styleHistory[ cssRule ].push( original );
  element.style[ cssRule ] = value;
  return value;
  
}


// Add push() and pop() if necessary
if( typeof Array.prototype.push == 'undefined' )
{
  Array.prototype.push = function( element ) { this[this.length] = element; }
}
if( typeof Array.prototype.pop == 'undefined' )
{
  Array.prototype.pop = function () 
  { 
    var last = this[ this.length - 1 ]; this.length--; return last; 
  }
}