// -----------------------------------------------------------------------------------
//
//	Lightbox v2.02
//	by Lokesh Dhakar - http://www.huddletogether.com
//	3/31/06
//
//	For more information on this script, visit:
//	http://huddletogether.com/projects/lightbox2/
//
//	Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/
//	
//	Credit also due to those who have helped, inspired, and made their code available to the public.
//	Including: Scott Upton(uptonic.com), Peter-Paul Koch(quirksmode.org), Thomas Fuchs(mir.aculo.us), and others.
//
//
// -----------------------------------------------------------------------------------
/*

	Table of Contents
	-----------------
	Configuration
	Global Variables

	Extending Built-in Objects	
	- Object.extend(Element)
	- Array.prototype.removeDuplicates()
	- Array.prototype.empty()

	Lightbox Class Declaration
	- initialize()
	- start()
	- changeImage()
	- resizeImageContainer()
	- showImage()
	- updateDetails()
	- updateNav()
	- enableKeyboardNav()
	- disableKeyboardNav()
	- keyboardAction()
	- preloadNeighborImages()
	- end()
	
	Miscellaneous Functions
	- getPageScroll()
	- getPageSize()
	- getKey()
	- listenKey()
	- showSelectBoxes()
	- hideSelectBoxes()
	- pause()
	- initLightbox()
	
	Function Calls
	- addLoadEvent(initLightbox)
	
*/
// -----------------------------------------------------------------------------------

//
//	Configuration
//
var fileLoadingImage = '/templates/default/galeriebox/images/loading2.gif';
var fileBottomNavCloseImage = '/templates/default/galeriebox/images/closede.gif';
var fileBottomNavSlideImageStart = "/templates/default/galeriebox/images/slidestart.gif";
var fileBottomNavSlideImageStop  = "/templates/default/galeriebox/images/slidestop.gif";
var fileBottomNavCommentImage = "/templates/default/galeriebox/images/comments.gif";
var fileBottomNavCommentImage2 = "/templates/default/galeriebox/images/comments2.gif";
var fileBottomNavExtLink = "/templates/default/galeriebox/images/link.gif";
var fileBottomNavMMS = "/templates/default/galeriebox/images/mms.gif";
var extLinkWidth  = 300;
var extLinkHeight = 120;
var fotoalbumWidth  = 220;
var fotoalbumHeight1 = 178;
var fotoalbumHeight2 = 292;

var resizeSpeed = 7;	// controls the speed of the image resizing (1=slowest and 10=fastest)

var borderSize = 10;	//if you adjust the padding in the CSS, you will need to update this variable

// -----------------------------------------------------------------------------------

//
//	Global Variables
//
var imageArray = new Array;
var activeImage;
var slideShowIsRunning = false;
var slideShowTimer;
var slideShowCurrent  = 0;
var slideShowLooptime = 5;
var arrImages = new Array();
var loadIdImage = -1;
var pauseLoad = false;
var myPreloader;
var myTimeout;
var ImageDummy;

var galerieId = -1;
var imageId = -1;
var commentIsDisplay = false;
var extLinkIsDisplay = false;
var fotoalbumIsDisplay = false;
var scrollCache = 0;
var menuBoxIsDisplay = false;

if(resizeSpeed > 10){ resizeSpeed = 10;}
if(resizeSpeed < 1){ resizeSpeed = 1;}
resizeDuration = (11 - resizeSpeed) * 0.15;
var varIsLoaded = false;

function isLoaded()
{
    varIsLoaded = true;
}

// -----------------------------------------------------------------------------------

//
//	Additional methods for Element added by SU, Couloir
//	- further additions by Lokesh Dhakar (huddletogether.com)
//
Object.extend(Element, {
	getWidth: function(element) {
	   	element = $(element);
	   	return element.offsetWidth; 
	},
	setWidth: function(element,w) {
	   	element = $(element);
    	element.style.width = w +"px";
	},
	setHeight: function(element,h) {
   		element = $(element);
    	element.style.height = h +"px";
	},
	setTop: function(element,t) {
	   	element = $(element);
    	element.style.top = t +"px";
	},
	setSrc: function(element,src) {
    	element = $(element);
    	element.src = src; 
	},
	setHref: function(element,href) {
    	element = $(element);
    	element.href = href; 
	},
	setInnerHTML: function(element,content) {
		element = $(element);
		element.innerHTML = content;
	}
});

// -----------------------------------------------------------------------------------

//
//	Extending built-in Array object
//	- array.removeDuplicates()
//	- array.empty()
//
Array.prototype.removeDuplicates = function () {
	for(i = 1; i < this.length; i++){
		if(this[i][0] == this[i-1][0]){
			this.splice(i,1);
		}
	}
}

// -----------------------------------------------------------------------------------

Array.prototype.empty = function () {
	for(i = 0; i <= this.length; i++){
		this.shift();
	}
}

// -----------------------------------------------------------------------------------

//
//	Lightbox Class Declaration
//	- initialize()
//	- start()
//	- changeImage()
//	- resizeImageContainer()
//	- showImage()
//	- updateDetails()
//	- updateNav()
//	- enableKeyboardNav()
//	- disableKeyboardNav()
//	- keyboardNavAction()
//	- preloadNeighborImages()
//	- end()
//
//	Structuring of code inspired by Scott Upton (http://www.uptonic.com/)
//
var Lightbox = Class.create();

Lightbox.prototype = {
	
	// initialize()
	// Constructor runs on completion of the DOM loading. Loops through anchor tags looking for 
	// 'lightbox' references and applies onclick events to appropriate links. The 2nd section of
	// the function inserts html at the bottom of the page which is used to display the shadow 
	// overlay and the image container.
	//
	initialize: function() {		    
		if (!document.getElementsByTagName)
            return; 
        
		// loop through all anchor tags
		var anchors = document.getElementsByTagName('span');
		for (var i=0; i<anchors.length; i++)
		{
			var anchor = anchors[i];			
			var relAttribute = String(anchor.getAttribute('rel'));
			
			// use the string.match() method to catch 'lightbox' references in the rel attribute
			if (anchor.getAttribute('fname') && (relAttribute.toLowerCase().match('lightbox')))
			{
				var imgObj = { bildid: anchor.getAttribute('bildid'), 
				               fname: anchor.getAttribute('fname'),
				               thumb: anchor.getAttribute('thumb'),
				               width: anchor.getAttribute('width'),
				               height: anchor.getAttribute('height'),
				               rel: anchor.getAttribute('rel'),
				               id: anchor.getAttribute('id'), 
				               com: anchor.getAttribute('com') };
				arrImages.push(imgObj);
			}
		}

		//var objBody = document.getElementsByTagName("body").item(0);		
		var objBody = document.getElementById("galbody");
		
		var objOverlay = document.createElement("div");
		objOverlay.setAttribute('id','overlay');
		objOverlay.style.display = 'none';
		objOverlay.onclick = function() { myLightbox.end(); return false; }
		objBody.appendChild(objOverlay);
		
		var objLightbox = document.createElement("div");
		objLightbox.setAttribute('id','lightbox');
		objLightbox.style.display = 'none';
		objBody.appendChild(objLightbox);
	
		var objOuterImageContainer = document.createElement("div");
		objOuterImageContainer.setAttribute('id','outerImageContainer');
		objLightbox.appendChild(objOuterImageContainer);

		var objImageContainer = document.createElement("div");
		objImageContainer.setAttribute('id','imageContainer');
		objOuterImageContainer.appendChild(objImageContainer);
	
		var objLightboxImage = document.createElement("img");
		objLightboxImage.setAttribute('id','lightboxImage');
		objImageContainer.appendChild(objLightboxImage);
			
		var objHoverComments = document.createElement("div");
		objHoverComments.setAttribute('id','hoverComments');
		objHoverComments.style.display = 'none';
		objImageContainer.appendChild(objHoverComments);		

		var objHoverComments = document.createElement("div");
		objHoverComments.setAttribute('id','CommentsBox');
		objImageContainer.appendChild(objHoverComments);
		objHoverComments.innerHTML = '<div id="CommentsBoxHtml" class="font12w" style="padding:5px;color:#fff;"></div>'; 
		
		//fotoalbum
		var objextLinkBox = document.createElement("div");
		objextLinkBox.setAttribute('id','fotoalbumBox');
		objextLinkBox.style.display = 'none';
		objextLinkBox.style.width = fotoalbumWidth + 'px';
		objextLinkBox.style.height = fotoalbumHeight1 + 'px';
		objextLinkBox.style.backgroundImage = 'url(/templates/default/galeriebox/images/fotoalbumBg.gif)';
		objImageContainer.appendChild(objextLinkBox);		
		
		// Links
		var objextLinkBox = document.createElement("div");
		objextLinkBox.setAttribute('id','extLinkBox');
		objextLinkBox.style.display = 'none';
		objextLinkBox.style.width = extLinkWidth + 'px';
		objextLinkBox.style.height = extLinkHeight + 'px';
		objextLinkBox.style.backgroundImage = 'url(/templates/default/galeriebox/images/schliessenbg.gif)';
		objImageContainer.appendChild(objextLinkBox);		
		objextLinkBox.innerHTML = '<div style="padding:5px;"><b>Link für Freunde</b><div style="padding:5px 0px 5px 0px;color:#888;">Verwende den nachstehenden URL-Code, um das Foto weiterzugeben:</div><div><textarea rows="2" style="border:1px solid #777;padding:3px;height:'+(isIE6?30:20)+'px;font-size:7pt;overflow:hidden;background-color:#fff;width:'+(extLinkWidth-20)+'px;" onclick="this.focus();this.select();" id="extLinkCode" readonly="readonly">http://</textarea></div><div style="float:right;padding-top:5px"><img src="/templates/default/galeriebox/images/schliessen.gif" onclick="myLightbox.hideExtLink();return false;" style="cursor:pointer" /></div></div>';

		// Sub menü
		var objextLinkBox = document.createElement("div");
		objextLinkBox.setAttribute('id','submenuBox');
		objextLinkBox.style.display = 'none';
		objextLinkBox.style.width = '187px';
		objextLinkBox.style.height = '186px';
		objextLinkBox.style.backgroundImage = 'url(/templates/default/galeriebox/images/galmenu1.gif)';
		objImageContainer.appendChild(objextLinkBox);		
		objextLinkBox.innerHTML = '<div style="padding-left:2px;"><a href="javascript:void();" class="submenuLink1"><img src="/templates/default/images/gif/spacer.gif" width="183" onclick="myLightbox.extLink();myLightbox.hideMenuBox();return false;" height="37" border="0" alt="" /></a></div><div style="padding-left:2px;"><a href="javascript:void();" class="submenuLink2"><img src="/templates/default/images/gif/spacer.gif" width="183" onclick="myLightbox.sendMMS();return false;" height="37" border="0" alt="" /></a></div><div style="padding-left:2px;"><a href="javascript:void();" class="submenuLink3"><img src="/templates/default/images/gif/spacer.gif" width="183" onclick="myLightbox.asProfilImage();return false;" height="37" border="0" alt="" /></a></div><div style="padding-left:2px;"><a href="javascript:void();" class="submenuLink4"><img src="/templates/default/images/gif/spacer.gif" width="183" onclick="myLightbox.saveImage();return false;" height="37" border="0" alt="" /></a></div><div style="padding-left:2px;"><a href="javascript:void();" class="submenuLink5"><img src="/templates/default/images/gif/spacer.gif" width="183" onclick="myLightbox.fotoalbum();myLightbox.hideMenuBox();return false;" height="37" border="0" alt="" /></a></div>';		
		
		var objHoverNav = document.createElement("div");
		objHoverNav.setAttribute('id','hoverNav');
		objImageContainer.appendChild(objHoverNav);
	
		var objPrevLink = document.createElement("a");
		objPrevLink.setAttribute('id','prevLink');
		objPrevLink.setAttribute('href','#');
		objHoverNav.appendChild(objPrevLink);
		
		var objNextLink = document.createElement("a");
		objNextLink.setAttribute('id','nextLink');
		objNextLink.setAttribute('href','#');
		objHoverNav.appendChild(objNextLink);
	
		var objLoading = document.createElement("div");
		objLoading.setAttribute('id','loading');
		objImageContainer.appendChild(objLoading);
	
		var objLoadingLink = document.createElement("a");
		objLoadingLink.setAttribute('id','loadingLink');
		objLoadingLink.setAttribute('href','#');
		objLoadingLink.onclick = function() { myLightbox.end(); return false; }
		objLoading.appendChild(objLoadingLink);
		
		var objLoadingImage = document.createElement("img");
		objLoadingImage.setAttribute('src', fileLoadingImage);
		objLoadingLink.appendChild(objLoadingImage);

		var objImageDataContainer = document.createElement("div");
		objImageDataContainer.setAttribute('id','imageDataContainer');
		objImageDataContainer.className = 'clearfix';
		objLightbox.appendChild(objImageDataContainer);

		var objImageData = document.createElement("div");
		objImageData.setAttribute('id','imageData');
		objImageDataContainer.appendChild(objImageData);
	
		var objImageDetails = document.createElement("div");
		objImageDetails.setAttribute('id','imageDetails');
		objImageData.appendChild(objImageDetails);
	
		var objCaption = document.createElement("span");
		objCaption.setAttribute('id','caption');
		objImageDetails.appendChild(objCaption);
	
		var objNumberDisplay = document.createElement("span");
		objNumberDisplay.setAttribute('id','numberDisplay');
		objImageDetails.appendChild(objNumberDisplay);
		
		var objBottomNav = document.createElement("div");
		objBottomNav.setAttribute('id','bottomNav');
		objImageData.appendChild(objBottomNav);

		var cont = '';
		cont  = '<div id="SlideStatus" style="width:15px;float:left;text-align:left"></div><table border="0" cellspacing="0" cellpadding="0"><tr>';
		cont += '<td><img src="' + fileBottomNavSlideImageStart + '" onclick="myLightbox.switchSlideshow();return false;" id="bottomNavSlideshow" /></td>';
		cont += '<td><div style="padding-left:5px;"><div style="width:110px;background-image:url('+fileBottomNavCommentImage+')" id="bottomNavComment" onclick="myLightbox.switchComments();return false;" align="left"><div style="padding-left:23px;padding-top:1px;font-size:8pt;text-align:center;width:12px;" id="CommentNum">0</div></div></div></td>';
		cont += '<td><img src="/templates/default/galeriebox/images/bildoption.gif" onclick="myLightbox.switchMenuBox();return false;" style="width:95px;padding-left:5px" id="bottomNavMenu" /></td>';
		cont += '<td><img src="' + fileBottomNavCloseImage + '" onclick="myLightbox.end();return false;" style="padding-left:5px" id="bottomNavClose" /></td>';
		cont += '</tr></table>';
		objBottomNav.innerHTML += cont;
		
        Element.hide('hoverComments');
        Element.hide('CommentsBox');
	},
	switchMenuBox: function()
	{
		if (!menuBoxIsDisplay)
			this.showMenuBox();
		else
			this.hideMenuBox();
	},
	showMenuBox: function()
	{
		commentIsDisplay = true;
		this.switchComments();		
		
		Element.show('submenuBox');	
		menuBoxIsDisplay = true;		
	},
	hideMenuBox: function()
	{
        Element.hide('submenuBox');
        menuBoxIsDisplay = false;
	},
	hideExtLink: function()
	{
        Element.hide('extLinkBox');
        extLinkIsDisplay = false;			
	},	
	extLink: function() {
	    if (!extLinkIsDisplay)
        {
		    w = Element.getWidth('outerImageContainer');
		    h = Element.getHeight('outerImageContainer');            
            
            var elem = document.getElementById('extLinkBox');            
            var xp = (w - extLinkWidth) / 2;
            var yp = (h - extLinkHeight) / 2 - 20;
            elem.style.left = xp + 'px';           
            elem.style.top = yp + 'px';

            Element.show('extLinkBox');
            extLinkIsDisplay = true;   

            document.getElementById('extLinkCode').focus();
            document.getElementById('extLinkCode').select();           
        }
        else
        {
            Element.hide('extLinkBox');
            extLinkIsDisplay = false;
        }	
	},
	fotoalbum: function()
	{
	    if (!fotoalbumIsDisplay)
        {
		    w = Element.getWidth('outerImageContainer');
		    h = Element.getHeight('outerImageContainer');            
            
            var elem = document.getElementById('fotoalbumBox');            
            var xp = (w - fotoalbumWidth) / 2;
            var yp = (h - fotoalbumHeight1) / 2 - 50;
            elem.style.left = xp + 'px';           
            elem.style.top = yp + 'px';

            Element.show('fotoalbumBox');
            fotoalbumIsDisplay = true;   
        }
        else
        {
            Element.hide('fotoalbumBox');
            fotoalbumIsDisplay = false;            
        }	    
	},
	saveFotoalbum: function()
	{
        myFotoalbum.saveFotobox(imageId);			
	},	
	hideFotoalbum: function()
	{
        Element.hide('fotoalbumBox');
        fotoalbumIsDisplay = false;		
	},	
	addFotoalbum: function(num)
	{
	    var el = document.getElementById('neuesAlbum');
	    if (num == "2")
	    {
	        document.getElementById('fotoalbumBox').style.height = fotoalbumHeight2 + 'px';
	        el.style.display = 'block';
	    }
	    else
	    {
	        document.getElementById('fotoalbumBox').style.height = fotoalbumHeight1 + 'px';
            el.style.display = 'none';
	    }
	},
	//
	//	switchComments()
	//	hide / show Comments
	//	
	switchComments: function()
	{		    
		this.hideMenuBox();
		
        if (!commentIsDisplay)
        {
		    w = Element.getWidth('outerImageContainer');
		    h = Element.getHeight('outerImageContainer');   
		    
		    var addBorder = 0;
		    if (!isIE6)
                addBorder = 20;
            
		    document.getElementById('CommentsBox').style.width = (w-addBorder) + 'px';
		    document.getElementById('CommentsBox').style.height = (h-addBorder) + 'px';
            Element.show('hoverComments');
            Element.show('CommentsBox');
            myComments.switchComments(commentIsDisplay, imageId);            
            commentIsDisplay = true;            
        }
        else
        {
            Element.hide('hoverComments');
            Element.hide('CommentsBox');
            myComments.switchComments(commentIsDisplay, imageId);            
            commentIsDisplay = false;
        }
	},	
	showHideIcon: function() {	
	    var elem = document.getElementById('galbox');
	     
        if (elem.style.display == 'none')
		    elem.style.display = 'block';
		else
		    elem.style.display = 'none';		    
	    return ;
	      
        var anchors = document.getElementsByTagName('img');
		for (var i=0; i<anchors.length; i++) {
			if (anchors[i].getAttribute('set') == 'ico')
			{
				if (anchors[i].style.display == 'none')
				    anchors[i].style.display = 'block';
				else
				    anchors[i].style.display = 'none';				
			}
		}
	},
	//
	//	switchSlideshow()
	//	start / stop the Slideshow
	//	
	switchSlideshow: function() {	    
        if (!slideShowIsRunning)
            myLightbox.startSlideshow();
        else
            myLightbox.stopSlideshow();
	},	
	
	//
	//	startSlideshow()
	//	start the Slideshow
	//	
	startSlideshow: function() {	
		this.hideExtLink();
		this.hideMenuBox();
	    slideShowIsRunning = true; 
	    slideShowCurrent = slideShowLooptime;
        slideShowTimer = window.setInterval('myLightbox.loopSlideshow()', 1000);	
        document.getElementById('bottomNavSlideshow').src = fileBottomNavSlideImageStop;           	    
	},
	
	//
	//	stopSlideshow()
	//	stop the Slideshow
	//	
	stopSlideshow: function() {	 
	    slideShowIsRunning = false;    
	    window.clearInterval(slideShowTimer);
	    document.getElementById('bottomNavSlideshow').src = fileBottomNavSlideImageStart;
	    document.getElementById('SlideStatus').innerHTML = '';
	    slideShowCurrent = 0;
	},
	
	loopSlideshow: function() {	    
        // if end goto first pic
        if(activeImage == (imageArray.length - 1))	    
            activeImage = -1;
	    
	    if (slideShowCurrent == 0)
	    {
            myLightbox.changeImage(activeImage + 1);   
            slideShowCurrent = slideShowLooptime;
	    }
	    else
	    {
            document.getElementById('SlideStatus').innerHTML = slideShowCurrent;
            slideShowCurrent--;
	    }
	},
    pauseLoading: function()
	{
        if (this.allLoaded())
            return;
            
	    var el = document.getElementById('galbox');
        ImageDummy = el.innerHTML;
        el.innerHTML = '';
	},	
	pauseEndLoading: function()
	{
	    var el = document.getElementById('galbox');
	    
        if (this.allLoaded() && el.innerHTML != '')
            return;
	    
        el.innerHTML = ImageDummy;
	},	
	allLoaded: function()
	{
	    return false;	    
	},
	//
	//	start()
	//	Display overlay and lightbox. If image is part of a set, add siblings to imageArray.
	//
	start: function(myBildid)
	{	
	    for (var i = 0; i < arrImages.length; i++)
	    {
	        if (arrImages[i].bildid == myBildid)
	        {
	           var myImage = arrImages[i];
	           break;
	        }
	    }	    	    
    
	    // position speichern
	    if (document.body.scrollTop)
	       scrollCache = document.body.scrollTop;
	    else
	       scrollCache = document.documentElement.scrollTop;
	    	    	   	
	    this.scrollTo(0);    
        this.showHideIcon();

	    // laden unterbrechen
	    this.pauseLoading();        
        
	    //document.getElementById('BannerTop').style.display = 'none';
	    if (document.getElementById('BannerRight') != null)
	    {	        
            document.getElementById('grussContainer').style.display = 'none';	        
            document.getElementById('BannerRight').style.display = 'none';
            document.getElementById('BannerTop').style.display = 'none';
            document.getElementById('kontaktIcons').style.display = 'none'; 
	    }
	    
	    document.getElementById("galbody").style.display = 'block';
	    document.body.style.overflow = 'hidden';
		hideSelectBoxes();

		// stretch overlay to fill page and fade in
		var arrayPageSize = getPageSize();
		Element.setHeight('overlay', arrayPageSize[1]);
		new Effect.Appear('overlay', { duration: 0.2, from: 0.0, to: 0.8 });

		imageArray = [];
		imageNum = 0;		

		if((myImage.rel == 'lightbox'))
		{
			// add single image to imageArray
			imageArray.push(new Array(myImage.fname, myImage.title));			
		}
		else
		{		    
            for (var i=0; i<arrImages.length; i++)
		    {
                var anchor = arrImages[i];
			    if (anchor.fname && (anchor.rel == myImage.rel))
			    {
                    imageArray.push(new Array(anchor.fname,'', anchor.id, anchor.com));					
			    }   
		    }		    
			imageArray.removeDuplicates();			
			while(imageArray[imageNum][0] != myImage.fname)
                imageNum++; 	    
		}

		// calculate top offset for the lightbox and display 
		var arrayPageSize = getPageSize();
		var arrayPageScroll = getPageScroll();
		var lightboxTop = arrayPageScroll[1] + (arrayPageSize[3] / 15);

		Element.setTop('lightbox', lightboxTop);
		Element.show('lightbox');
		this.changeImage(imageNum);
	},

	//
	//	changeImage()
	//	Hide most elements and preload image in preparation for resizing image container.
	//
	changeImage: function(imageNum)
	{		    
		activeImage = imageNum;	// update global var

		// hide elements during transition
		Element.show('loading');
		Element.hide('lightboxImage');
		Element.hide('hoverNav');
		Element.hide('prevLink');
		Element.hide('nextLink');
		Element.hide('imageDataContainer');
		Element.hide('numberDisplay');		
		
		this.hideExtLink();				
		imgPreloader = new Image();
		
		// once image is preloaded, resize image container
		imgPreloader.onload=function()
		{		    
		    // get image ID
		    disableBanner = true;
		    imageId =  CLweb2.str_replace('myspan','',imageArray[activeImage][2]);
			Element.setSrc('lightboxImage', imageArray[activeImage][0]);
			myLightbox.resizeImageContainer(imgPreloader.width, imgPreloader.height);						
			myLightbox.setLinkCode(imageId);						         			
			myLightbox.pauseEndLoading();			
		}
		imgPreloader.src = imageArray[activeImage][0];
	},
    setLinkCode: function(imageId)
    {
    	this.setCommentsNum();
        var el = document.getElementById("extLinkCode");        
        el.value = 'http://www.kulmbach-aktuell.de/web-163/' + imageId + '/bild__' + galerieId + '.html';        
    },
    setCommentsNumValue: function()
    {
    	imageArray[activeImage][3]++;
    	this.setCommentsNum();
    },
    setCommentsNum: function()
    {
    	var el = document.getElementById("CommentNum");
    	var bu = document.getElementById("bottomNavComment");
    	el.innerHTML = imageArray[activeImage][3];  
    	
    	if (imageArray[activeImage][3] == "1")
    	   bu.style.backgroundImage = 'url('+fileBottomNavCommentImage2+')'; 	
    	else
    	   bu.style.backgroundImage = 'url('+fileBottomNavCommentImage+')'; 	
    },
    sendMMS: function()
    {        
        top.location = 'http://www.kulmbach-aktuell.de/web-170/' + imageId + '/mms_bild_senden.html';
    },
    asProfilImage: function()
    {        
        top.location = 'http://www.kulmbach-aktuell.de/web-119/foto_bearbeiten.html?bild=' + imageId;
    },   
    saveImage: function()
    {
    	Element.hide('submenuBox');
    	menuBoxIsDisplay = false;
    	top.location = 'http://www.kulmbach-aktuell.de/download-image/' + imageId;    	
    },
	//
	//	resizeImageContainer()
	//
	resizeImageContainer: function( imgWidth, imgHeight) {

		// get current height and width
		this.wCur = Element.getWidth('outerImageContainer');
		this.hCur = Element.getHeight('outerImageContainer');

		// scalars based on change from old to new
		this.xScale = ((imgWidth  + (borderSize * 2)) / this.wCur) * 100;
		this.yScale = ((imgHeight  + (borderSize * 2)) / this.hCur) * 100;

		// calculate size difference between new and old image, and resize if necessary
		wDiff = (this.wCur - borderSize * 2) - imgWidth;
		hDiff = (this.hCur - borderSize * 2) - imgHeight;

		if(!( hDiff == 0)){ new Effect.Scale('outerImageContainer', this.yScale, {scaleX: false, duration: resizeDuration, queue: 'front'}); }
		if(!( wDiff == 0)){ new Effect.Scale('outerImageContainer', this.xScale, {scaleY: false, delay: resizeDuration, duration: resizeDuration}); }

		// if new and old image are same size and no scaling transition is necessary, 
		// do a quick pause to prevent image flicker.
		if((hDiff == 0) && (wDiff == 0)){
			if (navigator.appVersion.indexOf("MSIE")!=-1){ pause(250); } else { pause(100);} 
		}

		Element.setHeight('prevLink', imgHeight);
		Element.setHeight('nextLink', imgHeight);
		Element.setWidth( 'imageDataContainer', imgWidth + (borderSize * 2));

		this.showImage();
	},
	
	//
	//	showImage()
	//	Display image and begin preloading neighbors.
	//
	showImage: function(){
		Element.hide('loading');
		new Effect.Appear('lightboxImage', { duration: 0.5, queue: 'end', afterFinish: function(){	myLightbox.updateDetails(); } });
		this.preloadNeighborImages();
	},

	//
	//	updateDetails()
	//	Display caption, image number, and bottom nav.
	//
	updateDetails: function() {
	
		Element.show('caption');
		Element.setInnerHTML( 'caption', imageArray[activeImage][1]);

		// if image is part of set display 'Image x of x' 
		if(imageArray.length > 1)
		{
			Element.show('numberDisplay');
			Element.setInnerHTML( 'numberDisplay', "Bild " + eval(activeImage + 1) + " von " + imageArray.length);
		}

		new Effect.Parallel(
			[ new Effect.SlideDown( 'imageDataContainer', { sync: true, duration: resizeDuration + 0.25, from: 0.0, to: 1.0 }), 
			  new Effect.Appear('imageDataContainer', { sync: true, duration: 1.0 }) ], 
			{ duration: 0.65, afterFinish: function() { myLightbox.updateNav();} } 
		);
	},

	//
	//	updateNav()
	//	Display appropriate previous and next hover navigation.
	//
	updateNav: function() {

		Element.show('hoverNav');				

		// if not first image in set, display prev image button
		if(activeImage != 0){
			Element.show('prevLink');
			document.getElementById('prevLink').onclick = function() {
				myLightbox.changeImage(activeImage - 1); return false;
			}
		}

		// if not last image in set, display next image button
		if(activeImage != (imageArray.length - 1)){
			Element.show('nextLink');
			document.getElementById('nextLink').onclick = function() {
				myLightbox.changeImage(activeImage + 1); return false;
			}
		}
		
		this.enableKeyboardNav();
	},

	//
	//	enableKeyboardNav()
	//
	enableKeyboardNav: function() {
		document.onkeydown = this.keyboardAction; 
	},

	//
	//	disableKeyboardNav()
	//
	disableKeyboardNav: function() {
		document.onkeydown = '';
	},

	//
	//	keyboardAction()
	//
	keyboardAction: function(e) {
	    //disable
	    return;
		if (e == null) { // ie
			keycode = event.keyCode;
		} else { // mozilla
			keycode = e.which;
		}

		key = String.fromCharCode(keycode).toLowerCase();
		
		if((key == 'x') || (key == 'o') || (key == 'c')){	// close lightbox
			myLightbox.end();
		} else if(key == 'p'){	// display previous image
			if(activeImage != 0){
				myLightbox.disableKeyboardNav();
				myLightbox.changeImage(activeImage - 1);
			}
		} else if(key == 'n'){	// display next image
			if(activeImage != (imageArray.length - 1)){
				myLightbox.disableKeyboardNav();
				myLightbox.changeImage(activeImage + 1);
			}
		}


	},

	//
	//	preloadNeighborImages()
	//	Preload previous and next images.
	//
	preloadNeighborImages: function(){

		if((imageArray.length - 1) > activeImage){
			preloadNextImage = new Image();
			preloadNextImage.src = imageArray[activeImage + 1][0];
		}
		if(activeImage > 0){
			preloadPrevImage = new Image();
			preloadPrevImage.src = imageArray[activeImage - 1][0];
		}
	
	},

	//
	//	end()
	//
	end: function() {	
		this.hideMenuBox();
		this.hideExtLink();
	    this.showHideIcon(); 
		commentIsDisplay = true;
		myLightbox.switchComments();
	    myLightbox.stopSlideshow();
		this.disableKeyboardNav();
		Element.hide('lightbox');
		new Effect.Fade('overlay', { duration: 0.2});
		showSelectBoxes();	
		document.body.style.overflow = '';	
		document.getElementById("galbody").style.display = 'none';
		//document.getElementById('BannerTop').style.display = 'block';
	    document.getElementById('BannerRight').style.display = 'block';
	    document.getElementById('BannerTop').style.display = 'block';
	    document.getElementById('grussContainer').style.display = 'block';
	    document.getElementById('kontaktIcons').style.display = 'block'; 
	    this.scrollTo(scrollCache);		
	},
	scrollTo: function(pos)
	{
	    if (window.scroll)
	       window.scroll(1,pos);
        else
	       parent.window.scrollTo(1,pos);
	}
}

// -----------------------------------------------------------------------------------

//
// getPageScroll()
// Returns array with x,y page scroll values.
// Core code from - quirksmode.org
//
function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}

// -----------------------------------------------------------------------------------

//
// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org
// Edit for Firefox by pHaez
//
function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

// -----------------------------------------------------------------------------------

//
// getKey(key)
// Gets keycode. If 'x' is pressed then it hides the lightbox.
//
function getKey(e){
	if (e == null) { // ie
		keycode = event.keyCode;
	} else { // mozilla
		keycode = e.which;
	}
	key = String.fromCharCode(keycode).toLowerCase();
	
	if(key == 'x'){
	}
}

// -----------------------------------------------------------------------------------

//
// listenKey()
//
function listenKey () {	document.onkeypress = getKey; }
	
// ---------------------------------------------------

function showSelectBoxes(){
	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}
}

// ---------------------------------------------------

function hideSelectBoxes(){
	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
	    if (selects[i].id == 'AlbumListe')
	       continue;
		selects[i].style.visibility = "hidden";
	}
}

// ---------------------------------------------------

//
// pause(numberMillis)
// Pauses code execution for specified time. Uses busy code, not good.
// Code from http://www.faqts.com/knowledge_base/view.phtml/aid/1602
//
function pause(numberMillis) {
	var now = new Date();
	var exitTime = now.getTime() + numberMillis;
	while (true) {
		now = new Date();
		if (now.getTime() > exitTime)
			return;
	}
}

// ---------------------------------------------------



function initLightbox() { myLightbox = new Lightbox(); }
//Event.observe(window, 'load', initLightbox, false);
//CLweb2.setOnLoad('initLightbox()');
