	//
	// Script		:	Dynamiske Arrangementer v1.1
	// Created by		:	Ken Søeborg / Greve Kommune (www.greve.dk)
	// Date			:	14. feburary 2007
	// Company		:	Greve Kommune
	// Website		:	www.greve.dk
	//
	// IMPORTANT	:
	//	var rotateDelay = xxx (ms) has to be declared before calling this script
	//	use the dynlayout.css or add the content to your own .css
	//	check dynarrangementer.htm for setting up the content/arrangementer to be dynamically showed
	//	
	// Description	:
	//	Shows one arrangement at a time by rotating the visibility of each arrangement.
	//
	// Change Log 	:
        //	23-09-2009:	Fixed bug with always showing the text "Gem alle XXX" after opening and closing all
	//			arrangementer.
        //	08-10-2009:	"Gem alle XXX" is now called "Skjul alle XXX"
	//

			// Global variables
			var ArrangementArray = new Array();
			var Arrangementer = 0;	
			var thisArrangement = 1;
			var arrangementNumber = 0;
			var displayAll = 0;
			var rotateArrangementer;
		
			//
			// this function runs through all Arrangementer and shows the wanted and hides the rest
			//
			function showArrangement(id)
			{
				for (i=0;i<arrangementNumber;++i)
				{
					if (i == id)
					{
						document.getElementById(ArrangementArray[i]).style.display = 'inline';
						// substring(14) removes starting name kjsArrangement
						opacity('DivImg'+ArrangementArray[i].substring(14), 20, 100, 10, fadingDelay);
					}
					else
					{
						document.getElementById(ArrangementArray[i]).style.display = 'none';
					}
				}
			}
			
			//
			// This function stops the rotator and loops through all arrangementer and 
			//		shows them IF displayAll == 0 if displayAll == 1 then it will hide 
			//		all but the first arrangement and restart the rotator
			//
			function showAll(showname)
			{
				if (displayAll == 0)
				{
					displayAll = 1;
					stopIt();
					document.getElementById('AlleArrangementer').style.height = 'auto';
					for (i=0;i<arrangementNumber;++i)
					{
						document.getElementById(ArrangementArray[i]).style.display = 'inline';
					}
					document.getElementById('VisGemTrigger').innerHTML = 'Skjul alle ' + showname;
				}
				else
				{
					displayAll = 0;
					document.getElementById('VisGemTrigger').innerHTML = 'Vis alle ' + showname;
					for (i=1;i<arrangementNumber;++i)
					{
						document.getElementById(ArrangementArray[i]).style.display = 'none';
					}
					startIt();
				}
			}
			
			//
			//	This function is called once at the beginning and loops through all
			//		the div tags on the webpage and stores those used for the rotator
			//		named kjsArrangementXXX in a seperate array for faster access
			//
			function getArrangementer()
			{
				var divArray = document.getElementsByTagName('div');
				var teststr = "";
				
				for (i=0;i<divArray.length;++i)
				{
					teststr = divArray[i].id;

					// If our div tag containts Arrangement - its one of the div tags we want					
					if (teststr.match("kjsArrangement"))
					{
						// Add div tag for later use - so we dont have to go through all div tags again
						ArrangementArray[arrangementNumber] = document.getElementById(teststr).id;
						arrangementNumber = arrangementNumber + 1;
					}
				}	
				// This check is made if only 1 arrangement - then we cant start at 1 but need to start at 0 or first 
				// rotation will be blank div
				if (thisArrangement == arrangementNumber)
				{
					thisArrangement = 0;
				}		
			}
			
			//
			//	This is the main rotator looping function that will traverse through the arrangements
			//		one by one and show them.
			//		This function is triggered by the setInterval from startIt()
			//
			function ArrangementRotate()
			{
				showArrangement(thisArrangement);
				thisArrangement = thisArrangement + 1;
				if (thisArrangement >= arrangementNumber)
				{
					thisArrangement = 0;
				}
			}
			
			//	
			//	Starts the rotator of arrangementer if we are not showing all arrangementer ie. displayAll = 0
			//
			function startIt()
			{
				if (displayAll == 0)
				{
					if (rotateArrangementer) return;
					rotateArrangementer = setInterval("ArrangementRotate()", rotateDelay);
				}
			}
			
			//
			//	Stops the rotator - fx. when mouse is over an arrangement
			//
			function stopIt()
			{
				clearInterval(rotateArrangementer);
				rotateArrangementer = null;
			}
			
			//
			//	Blendfilter function
			//  Idea: http://www.brainerror.net/scripts_js_blendtrans.php
			//			
			var StopperId = null;
			function opacity(id, opacStart, opacEnd, intervalJump, millisec)
			{
				// alert("id="+id+" - opacStart="+opacStart+" - opacEnd="+opacEnd+" - intervalJump="+intervalJump+" - StopperId="+StopperId);
				if (0 == intervalJump) return;
				if (StopperId)
				{
					//alert("StopperId is set to null");
					clearTimeout(StopperId);
					StopperId = null;
				}
				
				changeOpac(opacStart, id);
				
				// Check if the fading is done - then just return
				if (0 < intervalJump && opacStart >= opacEnd) return;
				if (0 > intervalJump && opacStart <= opacEnd) return;
				
				// Else we do the fading
				if (0 < intervalJump)
				{
					var nextOpac = Math.min((parseInt(opacStart) + parseInt(intervalJump)), parseInt(opacEnd))
				}
				else if (0 > intervalJump)
				{
					var nextOpac = Math.max((parseInt(opacStart) + parseInt(intervalJump)), parseInt(opacEnd))
				}
				if (!nextOpac)
				{
					return;
				}
				
				// This is where we call ourself via setTimeOut
				StopperId = setTimeout('opacity(\''+id+'\', '+nextOpac+', '+opacEnd+', '+intervalJump+', '+millisec+');', millisec);
			}

			//
			//	Crossbrowser options for changing the opacity
			//	IE, FireFox, Safari, Mozilla and older
			//
			function changeOpac(opacity, id) 
			{
				var object = document.getElementById(id).style;
				// IE/Win
				object.filter = "alpha(opacity=" + opacity + ")";
				 // Safari 1.2, newer Firefox and Mozilla, CSS3
				object.opacity = (opacity/100)-.001;
				// Older Mozilla and Firefox
				object.MozOpacity = (opacity/100)-.001;
				// Safari<1.2, Konqueror
				object.KhtmlOpacity = (opacity/100);
			}
		
			// Initialize the Arrangement array
			getArrangementer();
			// Start the rotator show
			startIt();
