	
	
	
		/* Preload Waiting-image first*/
		preload=new Image();
		preload.src="images/tic2/overlay/loading.gif";
	
		/* Browserweiche */
		explorer=(navigator.appName.indexOf("Explorer")!=-1);
		netscape=(navigator.appName.indexOf("Netscape")!=-1 || navigator.appName.indexOf("Opera")!=-1);
		
		/* bildgruppen */
		currentopengroup=0;
		imagegroup=new Array();
		slideshowtimer=0;
		currentdescription="";
		slideshow=false;
		
		/* Helper for different Browsers */
		function innerwidth(){
			if (self.innerHeight){ // all except Explorer
				return self.innerWidth;
			}
			else if (document.documentElement && document.documentElement.clientHeight){ // Explorer 6 Strict Mode
				return document.documentElement.clientWidth;
			}
			else if (document.body){ // other Explorers
				return document.body.clientWidth;
			}	
		}
		function innerheight(){
			if (self.innerHeight){ // all except Explorer
				return self.innerHeight;
			}
			else if (document.documentElement && document.documentElement.clientHeight){ // Explorer 6 Strict Mode
				return document.documentElement.clientHeight;
			}
			else if (document.body){ // other Explorers
				return document.body.clientHeight;
			}	
		}
		function scrolltop(){
			if (self.pageYOffset){ // all except Explorer
				return self.pageYOffset;
			}
			else if (document.documentElement && document.documentElement.scrollTop){ // Explorer 6 Strict Mode
				return document.documentElement.scrollTop;
			}
			else if (document.body){ // all other Explorers
				return document.body.scrollTop;
			}
		}
		function updateoverlayposition(){
			if (explorer){
				document.getElementById("tic_overlay_overlaytable").style.width=innerwidth();
				document.getElementById("tic_overlay_overlaytable").style.height=innerheight();
			}	
		}	
		
		/* --------------------------------------------------
		Funktionsprinzip:
		-filterblender ist für IE
		-tic_overlay_overlaytable enthält das Bild
		
		filterblender
			enthält komplette Seite ohne overlay. Per Filter wird er auf 20% abgeregelt. Der Body ist schwarz damit es dunkler wird, nicht heller!
		
		overlay
		  	Tabelle zur Zentrierung
			enthält ein Hintergrund PNG das An und Abgeschaltet wird
		  	Wird per fixed Positioniert, IE bekommt "absolute" per Expression da kein Fixed
			Wird per JS für IE in der Größe an den Viewport angepasst
		
		*/ 
		
		
		//orig=0;
		function tic_overlay_addtogroup(group, url, description){
			// Init
			if (!imagegroup[group]){
				imagegroup[group]=new Array();
				imagegroup[group]["url"]=new Array();
				imagegroup[group]["description"]=new Array();
			}
			currentlength=imagegroup[group]["url"].length
			imagegroup[group]["url"][currentlength]=url; 					// Add Url
			imagegroup[group]["description"][currentlength]=description; 	// Add description
			
		}
		
		
		function tic_overlay_showimage(src, group, description){
			
			// Hide arrows
			document.getElementById("tic_overlay_arrowleft").style.visibility="hidden";
			document.getElementById("tic_overlay_arrowright").style.visibility="hidden";
			
			requestsrc=tic_overlay_generaterequestsource(src);
			
			updateoverlayposition();
			if (netscape){
				document.getElementById("tic_overlay_overlaytable").style.display="table";
				document.getElementById("tic_overlay_overlaytable").style.visibility="visible";
			}
			if (explorer){
				document.getElementById("tic_overlay_filterblender").style.filter="Alpha(opacity=20, finishopacity=0, style=0)";
				document.getElementById("tic_overlay_overlaytable").style.backgroundImage="none"; /* no transparent Background for IE */
				document.getElementById("tic_overlay_overlaytable").style.display="block"; 
				document.getElementById("tic_overlay_overlaytable").style.visibility="visible";
			}
			
			// Set current Group
			currentopengroup=group;
			
			// Load Source
			document.getElementById("overlayimage").src=requestsrc;
			
			// Set Bigsrctext
			currentdescription=description+"&nbsp;";
		}
		
		function tic_overlay_imageloaded(){
			// show image
			document.getElementById("overlayimage").style.visibility="visible";
			
			// Set Bigsrctext
			document.getElementById("subline").innerHTML=currentdescription;
			
			// show headline and subline if not system "loading" image
			if (document.getElementById("overlayimage").src.search(/loading.gif$/) == -1){
				
				// alert("show lines");
				document.getElementById("headline").style.display="block";
				document.getElementById("subline").style.display="block";
				
				 // nur für Gruppen! ------------------------------------------------------------
				if (currentopengroup!=0){
					// Check for slideshow, next, previous
					currentpos=tic_overlay_currentposition();
				
					// slideshow if more than one image
					if (imagegroup[currentopengroup]["url"].length!=1){
						document.getElementById("slideshowstart").style.visibility="visible";
					}
					else document.getElementById("slideshowstart").style.visibility="hidden";
					
					/* right if set*/
					if ((currentpos+1)<imagegroup[currentopengroup]["url"].length){
						document.getElementById("tic_overlay_arrowright").style.visibility="visible";
					}
					else document.getElementById("tic_overlay_arrowright").style.visibility="hidden";
					
					/* left if set */
					if (currentpos>0){
						document.getElementById("tic_overlay_arrowleft").style.visibility="visible";
					}
					else document.getElementById("tic_overlay_arrowleft").style.visibility="hidden";
				}
				else { // Für Einzelbilder 
					document.getElementById("slideshowstart").style.visibility="hidden";
				}
			}
		} 
		
		function tic_overlay_closeimage(){
			tic_overlay_stopslideshow();
			
			// unFade screen
			//if (netscape){document.getElementById("alphablender").style.visibility="hidden"}
			if (explorer){document.getElementById("tic_overlay_filterblender").style.filter="Alpha(opacity=100, finishopacity=0, style=0)";}
			// Hide image
			document.getElementById("overlayimage").style.visibility="hidden";
			
			// hide headline and subline
			document.getElementById("headline").style.display="none";
			document.getElementById("subline").style.display="none";
			
			// Hide arrows
			document.getElementById("tic_overlay_arrowleft").style.visibility="hidden";
			document.getElementById("tic_overlay_arrowright").style.visibility="hidden";
			
			// unload image
			document.getElementById("overlayimage").src="admin/overlay/loading.gif";
			
			// hide overlay
			document.getElementById("tic_overlay_overlaytable").style.visibility="hidden";
			document.getElementById("tic_overlay_overlaytable").style.display="none";
			
			
			
			//if (explorer) document.getElementById("body").style.backgroundColor=orig;
		}
		
		function tic_overlay_loadnextimage(){
			tic_overlay_stopslideshow();
			
			currentpos=tic_overlay_currentposition();
			nextimagesrc="images/"+imagegroup[currentopengroup]["url"][currentpos+1];
			description=imagegroup[currentopengroup]["description"][currentpos+1];
			tic_overlay_showimage(nextimagesrc, currentopengroup, description);
		}
		function tic_overlay_loadprevimage(){
			tic_overlay_stopslideshow();
			
			currentpos=tic_overlay_currentposition();
			previmagesrc="images/"+imagegroup[currentopengroup]["url"][currentpos-1];
			description=imagegroup[currentopengroup]["description"][currentpos-1];
			tic_overlay_showimage(previmagesrc, currentopengroup, description);
		}
		function tic_overlay_imageclick(){
			tic_overlay_stopslideshow();
			
			if (currentopengroup!=0){
				
				currentpos=tic_overlay_currentposition();
				// alert(currentpos);
				if ((currentpos+1)<imagegroup[currentopengroup]["url"].length){
					nextimagesrc="images/"+imagegroup[currentopengroup]["url"][currentpos+1];
					description=imagegroup[currentopengroup]["description"][currentpos+1];
				}
				else{ 
					nextimagesrc="images/"+imagegroup[currentopengroup]["url"][0];
					description=imagegroup[currentopengroup]["description"][0];
				}
				tic_overlay_showimage(nextimagesrc, currentopengroup, description);
			}
			else tic_overlay_closeimage();
		}
		
		function tic_overlay_startslideshow(){
			if (!slideshow){
				slideshow=true;
				document.getElementById("slideshowstart").style.backgroundColor="bebebe";
				slideshowtimer=window.setTimeout("tic_overlay_slideshow()",1000);
				
			}
			else {
				window.clearTimeout(slideshowtimer);
				document.getElementById("slideshowstart").style.backgroundColor="transparent";
				slideshow=false;
			}
		}
		function tic_overlay_stopslideshow(){
			window.clearTimeout(slideshowtimer);
			document.getElementById("slideshowstart").style.backgroundColor="transparent";
			slideshow=false;
		}
		function tic_overlay_slideshow(){
			currentpos=tic_overlay_currentposition();
			if ((currentpos+1)<imagegroup[currentopengroup]["url"].length){
				nextimagesrc="images/"+imagegroup[currentopengroup]["url"][currentpos+1];
				description=imagegroup[currentopengroup]["description"][currentpos+1];
			}
			else{ 
				nextimagesrc="images/"+imagegroup[currentopengroup]["url"][0]; 
				description=imagegroup[currentopengroup]["description"][0];
			}
			tic_overlay_showimage(nextimagesrc, currentopengroup, description);
			slideshowtimer=window.setTimeout("tic_overlay_slideshow()",5000);
		}
		
		
		
		
		
		function tic_overlay_currentposition(){
			// Das aktuelle Bild
			src=decodeURI(document.getElementById("overlayimage").src);
			
			// Find source in currentopengroup
			if (currentopengroup!=0){
				for (i=0; i<imagegroup[currentopengroup]["url"].length; i++){
					loopsrc=tic_overlay_generaterequestsource("images/"+imagegroup[currentopengroup]["url"][i]); /* mit grösse, etc... */
					if (src.slice(src.length-loopsrc.length)==loopsrc){
						// alert("found");
						//alert(src.slice(src.length-loopsrc.length));
						currentpos=i;
						break;
					}
				}
				return currentpos;
			}
			else return false;
		}
		
		function tic_overlay_generaterequestsource(src){
			// alert(src);
			// var src = "images/.../.../test.jpg";
			parts = src.match(/^images\/(.+\/)(.+)(\..+)$/);
			path=parts[1];
			filename=parts[2];
			endung=parts[3];
			width=innerwidth()-200;
			height=innerheight()-100;
			/* limit */
			if (width>1000) width=1000;
			if (height>800) height=800;
			
			
			
			//alert(path);
			//alert(filename);
			//alert(endung);
			
			// Smaller cause of editbar on top 
			
			// if(editor) height-=130;
			
			requestsrc="gen/"+path+filename+"_"+width+"_"+height+endung;
			// alert (requestsrc);
			return requestsrc;
		}
		
		
		
		/* Set Blender and Overlay to full Size */
		//document.getElementById("alphablender").style.width=innerwidth();
		//document.getElementById("alphablender").style.height=innerheight();
		
		/* Update */
		//updateoverlayposition();
		
		
		
