		// REDFRAME HANDLING

		var redframeflag = 0;
		var redframetimer = null;
		var redframeobj = "";
			
		function redframeover(cssElement) {
			redframeout();
		
			redframeflag = 1;
			redframeobj = cssElement;
			redframetimer = setTimeout("redframeout()", 5000);
			document.getElementById(redframeobj).style.borderColor = "#000000";
		}
		
		function redframeout() {
			if(redframeflag == 1) {
				document.getElementById(redframeobj).style.borderColor = "#e4e4e4";
				clearTimeout(redframetimer);
				redframetimer = null;
				redframeflag = 0;
				redframeobj = "";
			}
		}
		

		// SLIDER HANDLING
		
		var slidercurrent = 0;
		var slidertarget = 0;
		var slidertimer = null;
		var slidermax = 0;
		var sliderrowheight = 0;

		function sliderrows(rows, rowsonscreen, rowheight) {
		    sliderrowheight = rowheight;
		    slidermax = -((rows - rowsonscreen) * sliderrowheight);
			if(slidermax >= 0) {
				document.getElementById("sliderdown").style.display = "none";
				document.getElementById("sliderup").style.display = "none";
			} else {
				sliderbuttons();
			}
		}
		
		function sliderbuttons() {
			if(slidertarget == 0) {
				document.getElementById("sliderdown_a").style.visibility = "hidden";
			} else {
				document.getElementById("sliderdown_a").style.visibility = "visible";
			}			
			if(slidertarget == slidermax) {
				document.getElementById("sliderup_a").style.visibility = "hidden";
			} else {
				document.getElementById("sliderup_a").style.visibility = "visible";
			}			
			infoboxhide();
		}
		
		function sliderup() {
			if(slidertarget > slidermax) {
			    slidertarget -= sliderrowheight;
				sliderbuttons();
				if(slidertimer == null) slidertimer = setTimeout("sliderupdate()", 100);
			}
		}	

		function sliderdown() {
			if(slidertarget < 0) {
			    slidertarget += sliderrowheight;
				sliderbuttons();
				if(slidertimer == null) slidertimer = setTimeout("sliderupdate()", 100);
			}
		}	

		function sliderupdate() {
			if(Math.abs(slidertarget - slidercurrent) <= 1) {
				slidercurrent = slidertarget;
				clearTimeout(slidertimer);
				slidertimer = null;
			} else {
				slidercurrent += (slidertarget - slidercurrent) / 4
				slidertimer = setTimeout("sliderupdate()", 30);				
			}
			document.getElementById("slider").style.marginTop = slidercurrent + "px";
		}


		// INFO POPUP HANDLING
		
		var infoboxobj = "";
		var infoboxflag = 0;
		
		function infoboxshow(cssElement) {
			infoboxhide();
			
			infoboxflag = 1;
			infoboxobj = cssElement;
			document.getElementById(infoboxobj).style.visibility = "visible";
		}
		
		function infoboxhide() {
			if(infoboxflag == 1) {
				document.getElementById(infoboxobj).style.visibility = "hidden";
				infoboxflag = 0;
				infoboxobj = "";
			}
		}			

		function overlayshow() {
			document.getElementById('overlay').style.display = "block";
			document.getElementById('overlaycontrols').style.display = "block";
		}
		function overlayhide() {
			document.getElementById('overlay').style.display = "none";
			document.getElementById('overlaycontrols').style.display = "none";
		}
