function layout() {
	
	winw = jQuery(window).width();
	winh = jQuery(window).height();
	
	if (activeImage != 0 && slideshow == 0 && iPad == 0) {
	
		var newScroll = Math.ceil(jQuery("#image-wrapper").scrollTop() + jQuery("#image-container-"+activeImage).position().top);
		
		jQuery("#image-wrapper").scrollTop(newScroll);
	
	}
	
	if (slideshow == 1) {
		
			var imgw = jQuery("#image-container-"+activeImage).find("img").width();
			var imgh = jQuery("#image-container-"+activeImage).find("img").height();
			
			if (imgh < winh) {
			
				var imageRatioActive = Math.ceil(imgw/imgh);
				var imageWidthTarget = Math.ceil(winw*imageRatioActive);
				jQuery("#image-container-"+activeImage).css( { width: imageWidthTarget+"px", height: winh+"px" } );	
			
			}else{
			
				jQuery("#image-container-"+activeImage).css( { width: "100%", height: "auto" } );	

			}
			
					
	}
	
	layout2();
		
}

function layout2() {

	winw = jQuery(window).width();
	winh = jQuery(window).height();

	if (winh < switchHeight) {
	
		if (jQuery("body#ahpbody").hasClass("ahpbody-small") == false) {
	
			jQuery("body#ahpbody").addClass("ahpbody-small");
	
		}
	
		for (var i = 0; i < switchClasses.length; i++) {
	
			jQuery("."+switchClasses[i]).addClass(switchClasses[i]+"-small");
	
		}
		
		for (var j = 0; j < allImgs.length; j++) {
		
			for (var k = 0; k < switchImages.length; k++) {
			
			if (jQuery(allImgs[j]).attr("id").indexOf("thumb") == -1) {

				if (jQuery(allImgs[j]).attr("src").indexOf(switchImages[k]) != -1 && jQuery(allImgs[j]).attr("src").indexOf("small") == -1) {
				
					var pts = jQuery(allImgs[j]).attr("src").split(".");
					
					var ext = pts.pop();
				
					var name = pts.join(".");	
				
					jQuery(allImgs[j]).attr("src",name+"-small."+ext);
				
				}
				
			  }
					
			}
		
		}
	
	}else{
	
		if (jQuery("body#ahpbody").hasClass("ahpbody-small") == true) {
	
			jQuery("body#ahpbody").removeClass("ahpbody-small");
	
		}
	
		for (var i = 0; i < switchClasses.length; i++) {
	
			jQuery("."+switchClasses[i]).removeClass(switchClasses[i]+"-small");
	
		}
		
		for (var j = 0; j < allImgs.length; j++) {
		
			for (var k = 0; k < switchImages.length; k++) {
			
				if (jQuery(allImgs[j]).attr("id").indexOf("thumb") == -1) {
			
				if (jQuery(allImgs[j]).attr("src").indexOf("small") != -1) {
				
					var pts = jQuery(allImgs[j]).attr("src").split(".");
					
					var ext = pts.pop();
				
					var name = pts.join(".");	
					
					var namepts = name.split("-");
					
					namepts.pop();
					
					var name = namepts.join("-");
					
					jQuery(allImgs[j]).attr("src",name+"."+ext);
				
				}
				
				}
	
			}
		
		}
	
	}

}


function showVideo(src,nr) {
	
	jQuery("<div class='video-wrapper' id='video-wrapper-"+nr+"'></div>").prependTo("#content");
	
	fbEmbedVideo(src,nr);

}

function scrollToImage(nr,speed) {
	
	scrollBlock = 1;
	
	if (jQuery("#image-container-"+nr).length > 0) {

		var newScroll = Math.ceil(jQuery("#image-wrapper").scrollTop() + jQuery("#image-container-"+nr).position().top);

		jQuery("#image-wrapper").animate( { scrollTop: newScroll }, speed, 'easeOutQuad', function() {
	
			scrollBlock = 0;
			
			var next = nr+1;
			var prev = nr-1;
			var next2 = nr+2;
			var prev2 = nr-2;
			
			if (nr < imageCount && jQuery("#image-container-"+next).find("img.zoom").length == 0) {
			
				var srcNext = jQuery("#thumb-container-"+next+" span").attr("id");
				preloadImage(srcNext,next,0);
				
			}
			
			if (nr > 1 && jQuery("#image-container-"+prev).find("img.zoom").length == 0) {
			
				var srcPrev = jQuery("#thumb-container-"+prev+" span").attr("id");
				preloadImage(srcPrev,prev,0);
				
			}

			if (nr < imageCount-1 && jQuery("#image-container-"+next2).find("img.zoom").length == 0) {
			
				var srcNext2 = jQuery("#thumb-container-"+next2+" span").attr("id");
				preloadImage(srcNext2,next2,0);
				
			}
			
			if (nr > 2 && jQuery("#image-container-"+prev2).find("img.zoom").length == 0) {
			
				var srcPrev2 = jQuery("#thumb-container-"+prev2+" span").attr("id");
				preloadImage(srcPrev2,prev2,0);
				
			}
	
		});
	
	}

}

function preloadImage(src,nr,show) {

	preloadingImage = 1;
	
	preloadCount = preloadCount + 1;
	
	if (iPad == 1 && show == 1) {
	
		jQuery("#loading").css("display","none");
	
	}
	
	var imageObj = new Image();
	
	jQuery("<img class='zoom' src='"+base+"/images/dummy.gif' id='zoom-"+nr+"'><div class='caption-image' id='caption-image-"+nr+"'></div>").prependTo("#image-container-"+nr);
	
	jQuery(imageObj).load(function() {
	
		if (iPad == 1) {
		
			//speak("img "+nr+" preloaded");
		
			//	jQuery("<img src='data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=' class='zoom' id='zoom-"+nr+"'><div class='caption-image' id='caption-image-"+nr+"'></div>").prependTo("#image-container-"+nr);
				
			//speak ("ipreload: "+jQuery("#image-container-"+nr).html());	
			
		}
		
		imageSrc['src'+nr] = src;
		
		if (iPad == 1) {
			
			initDragIPad(nr);
			
			checkPreload(nr);

			//speak("initDrag...");
			
		}
	
		jQuery("#image-container-"+nr).find("#loading-zoom").remove();
	
		//jQuery("#image-container-"+nr).css( { backgroundColor: "#FFFFFF" } );
	
		jQuery("#zoom-"+nr).attr("src",src);
		
		////speak("preloaded src: "+jQuery("#zoom-"+nr).attr("src"));
		
		jQuery("#caption-image-"+nr).html(""); 
		var captionText = jQuery("img#thumb-"+nr).attr("alt");
		jQuery("#caption-image-"+nr).html(captionText);
		jQuery("#caption-image-"+nr).fadeIn(aniSpeed3);
		
		imageHeight = this.height;
		imageWidth = this.width;
		imageRatio = this.width/this.height;
		
	//	//speak(" preload w, h: "+imageWidth+", "+imageHeight);
			
		if (slideshow == 0 && iPad == 0) {
			
			//if (nr > 1) {
			
			//speak("preload image-container click... not for ipad");
			
			jQuery("#image-container-"+nr).click(function(e) {
					
				scrollTooltip = 0;
				scrollTooltipEnd();

				jQuery("#photo-arrow-up").css( { display: "none", left: -500+"px" } );
				jQuery("#photo-arrow-down").css( { display: "none", left: -500+"px" } );
					
				e = (window.event)? event : e;
	
				var objW = jQuery(this).width();
				var objH = jQuery(this).height();
	
				var newX = e.clientX - Math.ceil(objW/2) + 3;
				var newY = e.clientY - 50;
					
				if (nr > 1 && e.clientY < jQuery(this).offset().top + jQuery(this).height()/2) {
					var next = nr - 1;
				}
				if (nr < imageCount && e.clientY > jQuery(this).offset().top + jQuery(this).height()/2) {
					var next = nr + 1;
				}	
				scrollToImage(next,700);

			});
						
			/*	jQuery("#image-container-"+nr+" #image-up").mouseover(function(e) {
				
					if (scrollBlock == 0) {
						cursorImageUp(e,'#photo-arrow-up');
						jQuery("#photo-arrow-up").css( { display: "block" } );
					}
		
				});
				jQuery("#image-container-"+nr+" #image-up").mousemove(function(e) {
			
					cursorImageUp(e,'#photo-arrow-up');
		
				});
				jQuery("#image-container-"+nr+" #image-up").mouseout(function(e) {
		
					if (scrollBlock == 0) {	
						jQuery("#photo-arrow-up").css( { display: "none", left: -500+"px" } );
					}
			
				}); */
			
			/*}else{
			
				jQuery("#image-container-"+nr+" #image-up").detach();
			
			}*/
			
			/*if (nr < imageCount) {
			
				jQuery("#image-container-"+nr+" #image-down").click(function(e) {
					
					scrollTooltip = 0;
					scrollTooltipEnd();

					jQuery("#photo-arrow-up").css( { display: "none", left: -500+"px" } );
					jQuery("#photo-arrow-down").css( { display: "none", left: -500+"px" } );
					if (nr < imageCount) {
						var next = nr + 1;
					}else{
			
					}	
					scrollToImage(next,700);

				});*/
			
				/*jQuery("#image-container-"+nr+" #image-down").mouseover(function(e) {
			
					if (scrollBlock == 0) {
						cursorImageDown(e,'#photo-arrow-down');
						jQuery("#photo-arrow-down").css( { display: "block" } );
					}
		
				});
				jQuery("#image-container-"+nr+" #image-down").mousemove(function(e) {
			
					cursorImageDown(e,'#photo-arrow-down');
		
				});
				jQuery("#image-container-"+nr+" #image-down").mouseout(function(e) {
			
					if (scrollBlock == 0) {	
						jQuery("#photo-arrow-down").css( { display: "none", left: -500+"px" } );		
					}
			
				}); */
			
			/*}else{
			
				jQuery("#image-container-"+nr+" #image-down").detach();
			
			}*/
		
		}else if (slideshow == 1) {
		
			jQuery("img.zoom").addClass("internal").click(function(e) {

				unloadPage(jQuery("#start span").attr("id"));

			});
		
		}
		
		if (show == 1) {
		
			//speak("preload's preloadecheck, also for ipad");
		
			jQuery("#loading").css("display","none");
			showImage(nr);
			
			var next = nr+1;
			var prev = nr-1;
			var next2 = nr+2;
			var prev2 = nr-2;
			
			if (nr < imageCount && jQuery("#image-container-"+next).find("img.zoom").length == 0) {
			
				var srcNext = jQuery("#thumb-container-"+next+" span").attr("id");
				preloadImage(srcNext,next,0);
				
			}
			
			if (nr > 1 && jQuery("#image-container-"+prev).find("img.zoom").length == 0) {
			
				var srcPrev = jQuery("#thumb-container-"+prev+" span").attr("id");
				preloadImage(srcPrev,prev,0);
				
			}	
			
			if (iPad == 0) {
			
				if (nr < imageCount-1 && jQuery("#image-container-"+next2).find("img.zoom").length == 0) {
			
					var srcNext2 = jQuery("#thumb-container-"+next2+" span").attr("id");
					preloadImage(srcNext2,next2,0);
				
				}
			
				if (nr > 2 && jQuery("#image-container-"+prev2).find("img.zoom").length == 0) {
			
					var srcPrev2 = jQuery("#thumb-container-"+prev2+" span").attr("id");
					preloadImage(srcPrev2,prev2,0);
				
				}
			
			}
			
		}
		
		if (iPad == 1) {
				
			if (show == 1) {
			
				showImage(nr);
			
			}
		
		}
	
	});
		
	imageObj.src = src;
	
	images.push(imageObj);

}

function hideImage(nr) {

	jQuery("#image-container-"+nr).css( { display: "none" } );

}

function showImage(nr) {

	if (jQuery("#thumbs-wrapper").length > 0 && jQuery("#thumbs-wrapper").css("display") == "block") {
	
		jQuery("#menu").fadeOut(aniSpeed2);
		
		jQuery("#thumbs-wrapper").fadeOut(aniSpeed2);
		
		jQuery("#thumbs-wrapper").fadeOut(aniSpeed2, function() {
		
			showImage(nr);
		
		});
	
	}else{

			var srcNext = jQuery("#thumb-container-"+nr+" span").attr("id");
			
			var ext = srcNext.split(".").pop();
		
			if (ext == "jpg" || ext == "png" || ext == "gif") {
		
				if (jQuery("#image-container-"+nr).find("img.zoom").length > 0) {
							
					if (slideshow == 0 && iPad == 0) {
					
						if (ref.indexOf(base) == -1 || ref == base || ref == base+"/") {
				
							if (scrollTooltip == 1) { 
				
							setTimeout(function() {
							
							jQuery("#ahpbody").mouseover(function(e) {
					
								e = (window.event)? event : e;
								
								if (scrollTooltip == 1) {
									
									scrollTooltip = 0;
		
									var objW = jQuery("#scroll-tooltip").width();
				
									var newX = e.clientX - Math.ceil(objW/2) + 2;
									var newY = e.clientY + 50;

									jQuery("#scroll-tooltip").css("left",newX+"px");
									jQuery("#scroll-tooltip").css("top",newY+"px");
	
									jQuery("#scroll-tooltip").fadeIn(500);
									
									jQuery("#ahpbody").mousemove(function(e2) {
										
										e2 = (window.event)? event : e2;
					
										scrollTooltipFollow(e2);
	
									});
		
								}
					
							});
							
							}, 1000);
							
							}
							
						}
	
						activeImage = nr;
						
						var activeTop = jQuery("#image-container-"+activeImage).position().top;
						
						jQuery("#image-wrapper").scrollTop(activeTop);
						
						jQuery("#image-wrapper").css("display","block");
						
						layout();
						
						jQuery("#image-container-"+nr).fadeIn(aniSpeed3);
						
						document.getElementById("image-wrapper").onscroll = zoomListener;
	
					}else if (slideshow == 0 && iPad == 1) {
					
						jQuery("#loading").css( { display: "none" } );
					
						activeImage = nr;
						
						window.location.hash = activeImage;
						
						jQuery("#image-wrapper").css("display","block");
						
						layout();
						
						speak ("iPad");
						
						var img = new Image();
						img.src = jQuery("#image-container-"+activeImage).find(".zoom").attr("src");
						var heightTest = img.height;
						
						if (heightTest > 0) {
							
							jQuery("#image-container-"+nr).css("top",0+"px").fadeIn(aniSpeed3);
							
						}else{
						
							if (docurl.indexOf("#") != -1) {
								docurl = docurl.split("#")[0];
							}
					
							window.location.href = docurl+"#"+nr;
							location.reload(true);
						
						}						
					
					}else if (slideshow == 1) {
					
						jQuery("#image-wrapper").css("display","block");
					
						if (nr < imageCount) {
						
							var nextInSlide = nr+1;
						
						}else{
						
							var nextInSlide = 1;
						
						}
						
						if (imageCount > 1) {
							
							setTimeout("showImage("+nextInSlide+");",7000);
	
						}
					
					}
					
					/*if (slideshow == 1) {
		
						var imgw = jQuery("#image-container-"+activeImage).find("img").width();
						var imgh = jQuery("#image-container-"+activeImage).find("img").height();
			
						if (imgh < winh) {
			
							var imageRatioActive = Math.ceil(imgw/imgh);
							var imageWidthTarget = Math.ceil(winw*imageRatioActive);
							jQuery("#image-container-"+activeImage).css( { width: imageWidthTarget+"px", height: winh+"px" } );	
			
						}else{
			
							jQuery("#image-container-"+activeImage).css( { width: "100%", height: "auto" } );	

						}
			
					}*/
					
					layout();
					
					if (slideshow == 1) {
						
						jQuery("#image-container-"+activeImage).css("z-index",100);
				
						prev = activeImage;
									
						if (cursorSlideCheck == 1 && iPad == 0) {
						
							cursorSlideCheck = 0;
							setTimeout('cursorSlideInit();',3000);
						
						}
						
						if (startCheck == 1 && iPad == 1) {
						
							startCheck = 0;
							
							setTimeout(function() {
							
									jQuery("#ipad-enter").fadeIn(4000);
								
								}, 5000);
						
						}
			
					}else{
					
						jQuery("#menu-overview").fadeIn(aniSpeed2);
					
					}
					
					if (imageCount > 1) {
					
						if (cursorSlide == 1) {
						
							cursorSlide = 0;
							setTimeout('cursorSlideInit();',3000);
						
						}
						
						if (iPad == 0) {
						
							jQuery("#image-container-"+nr).css( { zIndex: 200, display: 'none' } ).fadeIn(aniSpeed6, function() {
														
								if (startCheck == 0) {
							
									hideImage(prev);
		
								}
										
							});
							
						}else{
						
							jQuery("#image-container-"+nr).css( { display: 'none', zIndex: 200 } ).fadeIn(aniSpeed6, function() {
														
								if (startCheck == 0) {
							
									//hideImage(prev);
		
								}
										
							});
						
						}
						
					}else{
					
						jQuery("#image-container-"+nr).fadeIn(aniSpeed6);
					
					}
						
					activeImage = nr;
				
				}else{
				
					//jQuery("#loading").css("display","block");			
									
					preloadImage(srcNext,nr,1);
				
				}
		
			}else if (ext == "mp4") {
			
				jQuery("#menu-overview").fadeIn(aniSpeed2);
			
				showVideo(srcNext,nr);
			
			}
			
	}

}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


function checkPreload(nr) { // iPad only

	//speak("checkPreload...");

	if (iPad == 1 && nr != activeImage) {
	
	}else if (iPad == 1 && nr == activeImage) {

		var next = nr+1;
		var prev = nr-1;
			
		if (nr < imageCount && jQuery("#image-container-"+next).find("img.zoom").length == 0) {
			
			var srcNext = jQuery("#thumb-container-"+next+" span").attr("id");
			preloadImage(srcNext,next,0);
			////speak("preload next: "+next);
				
		}else if (nr == imageCount && jQuery("#image-container-1").find("img.zoom").length == 0) {
			
			var next = 1;

			var srcNext = jQuery("#thumb-container-"+next+" span").attr("id");
			preloadImage(srcNext,next,0);
			////speak("preload next: "+next);
			
		}
			
		if (nr > 1 && jQuery("#image-container-"+prev).find("img.zoom").length == 0) {

			var srcPrev = jQuery("#thumb-container-"+prev+" span").attr("id");
			preloadImage(srcPrev,prev,0);
		//	//speak("preload prev: "+prev);
				
		}
			
		jQuery(".image-container").each(function(i){
			
			j = i + 1;
			
			if (j != next && j != prev && j != activeImage && jQuery("#image-container-"+j).find("img.zoom").length > 0) {
			
				//jQuery("#image-container-"+j).find("img.zoom").detach();
		
				// ALT:	
					
				/*var imgDel = document.getElementById('zoom-'+j);
				
				//speak("delImg: "+imgDel);
				imgDel.parentNode.removeChild(imgDel);
				imgDel.src = 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='; 
				
				imgDel = null;
				
				jQuery("#image-container-"+j).find("img.zoom").detach();*/
				
			}
			
		});
			
	}

}

function initDragIPad (nr) {
	
		// image swipe iPad: 
		
		////speak("initDrag nr: "+nr);
		
			jQuery("#image-container-"+nr).draggable( { axis: 'y' } );
			
			jQuery("#image-container-"+nr).bind("touchend",function(e) {
			
				//speak ("touch img: "+jQuery(this).find("img.zoom"));
				
				var ypos = jQuery(this).find("img.zoom").offset().top;
				
				//speak ("ypos: "+ypos);
				
				if (ypos + jQuery(this).find("img.zoom").height() < winh*0.5) { // top + show next 
				
					if (activeImage < imageCount) {
	
						nextImage = activeImage + 1;
	
					}else{
						
						window.location.hash = "";
						showThumbnails();
	
					}
					
					var img = new Image();
					img.src = jQuery("#image-container-"+nextImage).find(".zoom").attr("src");
					var heightTest = img.height;
					
					speak ("image height there? -> "+img.height);
					
				//	//speak("initDrag next: "+nextImage);
			
				
				 // iPadCount++;
					
				  //if (iPadCount < iPadLimit) {
				  
				  if (heightTest > 0) {
				
					var yout = winh*(-1);
			
					jQuery(this).animate( { top: yout+"px" }, imageSlideOutSpeed, function() {
					
						jQuery(this).css("display","none");
						
						//$("#image-container-"+nr).find("img.zoom").attr("src","data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=");	
						
						jQuery("#image-container-"+nextImage).css("display","block");
						
						//speak ("nextSwipe: "+jQuery("#thumb-container-"+nextImage+" span").attr("id"));
						
						$("#image-container-"+nextImage).css("z-index",2000);
						
						jQuery("#image-container-"+nextImage).css( { top: winh+"px" } ).animate( { top: 0+"px" }, 150, function() {
						
						//	speak ("nextAnimate: done");
							
							window.location.hash = nextImage;
						
							activeImage = nextImage;
							
							checkPreload(activeImage);

							layout();
						
						});
					
					});	
					
				  }else{
					
						docurl = docurl.split("#")[0];
					
						////speak("docurl: "+docurl);
					
						window.location.href = docurl+"#"+nextImage;
						location.reload(true);
					
				  }
			
				}else if (ypos > winh*0.5) { // bottom + show previous
				
					if (activeImage > 1) {
	
						nextImage = activeImage - 1;
	
					}else{
						
						window.location.hash = "";

						showThumbnails();
							
					}
					
					var img = new Image();
					img.src = jQuery("#image-container-"+nextImage).find(".zoom").attr("src");
					var heightTest = img.height;
					
					speak ("image height there? -> "+img.height);
					
				//iPadCount++;
					
				  //if (iPadCount < iPadLimit) {
				  
				  if (heightTest > 0) {
				
					var yout = winh+winh*0.5;
			
					jQuery(this).animate( { top: yout+"px" }, imageSlideOutSpeed, function() {
					
						jQuery("#image-container-"+nr).css("display","none");
					
						jQuery(this).css("display","none");
						
						//$("#image-container-"+nr).find("img.zoom").attr("src","data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=");
											
						jQuery("#image-container-"+nextImage).css("display","block");
						
						jQuery("#image-container-"+nextImage).css("z-index",2000);
						
						$("#image-container-"+nextImage).find("img.zoom").attr("src",jQuery("#thumb-container-"+nextImage+" span").attr("id"));	
						
						jQuery("#image-container-"+nextImage).css( { top: -winh+"px" } ).animate( { top: 0+"px" }, 150, function() {
						
							activeImage = nextImage;
												
							window.location.hash = nextImage;
							
							checkPreload(activeImage);
						
							layout();
						
						});	
					
					});
					
				  }else{
				  
						docurl = docurl.split("#")[0];
					
						////speak("docurl: "+docurl);
					
						window.location.href = docurl+"#"+nextImage;
						location.reload(true);
				  
				  }
			
				}else{ // jump back, no prev + no next
				
					jQuery(this).animate( { top: 0+"px" }, 100);
				
				}
			
			});
		
		// - - - - - - - - - - - - - - - - -

}



// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

function scrollCheck2() {
	
	jQuery(".image-container").each(function(i){
    
    	var j = i+1;
    
       	if (jQuery("#image-container-"+j).offset().top > -jQuery(window).height()/2 && jQuery("#image-container-"+j).offset().top < winh/2) {
		
			activeImage = i+1;
			
			if (jQuery("#zoom-"+activeImage).length == 0) {
				
				//jQuery("#loading").css( { display: "block" } );
			
				showImage(activeImage);
	
			}
				
			scrollToImage(activeImage,300);
		
		}   
       
    });

}

function scrollCheck(nr) {

	//if (jQuery("#zoom-"+nr).length > 0) {

		//if (jQuery("#zoom-"+nr).offset().top == scrollCheckPos) {
		if (jQuery("#image-container-"+nr).offset().top == scrollCheckPos && zoomScrollListener != null) {
		
			clearInterval(scrollCheckInt);
			scrollCheckInt = 0;
			scrollCheckPos = 0;
		
			scrollCheck2();
	
		}else{
	
			//scrollCheckPos = jQuery("#zoom-"+nr).offset().top;
			scrollCheckPos = jQuery("#image-container-"+nr).offset().top;

		}
		
	//}

}

// zoom Scroll Listener:

function zoomListener() {

	var next = activeImage + 1;
	var prev = activeImage - 1;
	var active = activeImage;
	
	if (jQuery("#zoom-"+prev).length > 0) {
	
		var topPrev = Math.ceil(jQuery("#zoom-"+prev).offset().top);
		
		if (topPrev > -jQuery(window).height()/2 && topPrev < winh/2) {
			
			activeImage = prev;
		
			scrollTooltip = 0;
			jQuery("#scroll-tooltip").css( { display: "none" } );
			////speak("act: "+activeImage);
			
		}
		
	}
	
	if (jQuery("#zoom-"+next).length > 0) {
	
		var topNext = Math.ceil(jQuery("#zoom-"+next).offset().top);
	
		if (topNext > -jQuery(window).height()/2 && topNext < winh/2) {
				
			activeImage = next;
		
			scrollTooltip = 0;
			jQuery("#scroll-tooltip").css( { display: "none" } );
			////speak("act: "+activeImage);
			
		}
		
	}
	
	if (scrollCheckInt == 0) { // only once!
	
		scrollCheckInt = setInterval("scrollCheck("+active+");",500);
	
	}

}


// Thumbs Liste vorbereiten:

function galleryStart() {

	layout();

	jQuery("#ahpbody").addClass("gallery-body");
	
	if (slideshow == 0) {
	
		jQuery(".thumb-container img.thumb").click(function() {
		
			var nr = Math.abs(jQuery(this).parent().parent().attr("id").split("-").pop());
			
			showImage(nr);
	
		});
		
		if (hash == 0) {
	
			jQuery("#loading").css("display","none");
		
			var srcFirst = jQuery("#thumb-container-"+nextImage+" span").attr("id");
		
			var extFirst = srcFirst.split(".").pop();
			
			showThumbnails();
		
		}else{
	
			showImage(hash);
	
		}
		
	}else{
	
		jQuery("#image-wrapper").css( { height: 100+"%" } );
	
		jQuery("#logo-start").fadeIn(aniSpeed6);
	
		showImage(1);
		
	}
	
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



// Show Thumbnails:

function showThumbnails() {

	if (jQuery("#image-wrapper").css("display") == "block") {
		
		if (window.location.hash != "") {
		
			window.location.hash = "";
		
		}
		
		scrollTooltipEnd();
		
		jQuery("#menu-overview").fadeOut(aniSpeed2);
		
		jQuery("#image-wrapper").fadeOut(aniSpeed2);
		
		if (iPad == 1) {
		
			jQuery(".image-container").css( { display: "none" } );
		
		}
		
		zoomScrollListener = null;
		
		setTimeout("showThumbnails()",aniSpeed2);	
	
	}else if (jQuery(".video-wrapper").css("display") == "block") {
		
		if (window.location.hash != "") {
		
			window.location.hash = "";
		
		}
		
		jQuery("#menu-overview").fadeOut(aniSpeed2);
		
		jQuery(".video-wrapper").remove();
		
		zoomScrollListener = null;
		
		setTimeout("showThumbnails()",aniSpeed2);	
	
	}else{
	
		jQuery("#thumbs-wrapper").css( { opacity: 0.0, display: 'block' } );
		jQuery("#menu").css( { opacity: 1.0 } );
		jQuery("#menu").fadeIn(aniSpeed2);
		
		jQuery("#thumbs-wrapper").animate( { opacity: 1 }, aniSpeed4, function() {
			
			if (iPad == 1) {
			
				setTimeout(function () {
			
					thumbScroll.refresh();
			
				}, 0);
			
			}
		
		});
	
	}

}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



// Unload = content ausblenden und neue Seite laden:

function unloadPage(target) {

	if (slideshow == 1) {
	
		jQuery("#logo-start").fadeOut(aniSpeed5);

		
		if (iPad == 0 && jQuery("#slideshow-enter").css("display") == "block") {
		
			jQuery("#slideshow-enter").fadeOut(aniSpeed3);
	
		}
		
		jQuery("#image-wrapper").fadeOut(aniSpeed5, function() {
	
			window.location.href = target;
	
		});	
	
	}

	if (jQuery("#content").length > 0 && jQuery("#content").css("display") == "block" && slideshow == 0) {

		jQuery("#content").fadeOut(aniSpeed2, function() {
	
			window.location.href = target;
	
		});	
		
	}
	if (jQuery("#thumbs-wrapper").length > 0 && jQuery("#thumbs-wrapper").css("display") == "block" && slideshow == 0) {

		jQuery("#thumbs-wrapper").animate( { opacity: 0.0 }, aniSpeed2, function() {
	
			window.location.href = target;
	
		});	
		
	}
		

}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



// Preload UI Funktion:

function preloadUI(nr) {

	var uiImage = new Image();
	var imageFile = base+"/"+ui[nr];
	uiImage.src = imageFile;
	
	if (nr < ui.length-1) {
	
		nr++;
		preloadUI(nr);
	
	}

}
	
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



// Mouse Label Image:

function cursorImageUp(e,id) {

	e = (window.event)? event : e;
	
	var objW = jQuery(id).width();
	var objH = jQuery(id).height();
	
	var newX = e.clientX - Math.ceil(objW/2) + 3;
	var newY = e.clientY - 50;
	
	jQuery(id).css("left",newX+"px");
	jQuery(id).css("top",newY+"px");
	
}

function cursorImageDown(e,id) {

	e = (window.event)? event : e;
	
	var objW = jQuery(id).width();
	var objH = jQuery(id).height();

	var newX = e.clientX - Math.ceil(objW/2) + 3;
	var newY = e.clientY + 50;

	jQuery(id).css("left",newX+"px");
	jQuery(id).css("top",newY+"px");
	
}

// Scroll Tooltip:

function scrollTooltipFollow(e) {
	
	e = (window.event)? event : e;
	
	var objW = jQuery("#scroll-tooltip").width();

	var newX = e.clientX - Math.ceil(objW/2) + 2;
	var newY = e.clientY + 50;

	jQuery("#scroll-tooltip").css("left",newX+"px");
	jQuery("#scroll-tooltip").css("top",newY+"px");
	
}

function scrollTooltipEnd() {
	
	jQuery("#scroll-tooltip").css( { display: "none" } );
	
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



// Mouse Label Slide:

function cursorSlideInit() {

	jQuery("#slideshow-enter").fadeIn(500);
	
	//cursorSlide(e);
	
	if (iPad == 0) {
	
		jQuery("#ahpbody").mousemove(function(e) {
	
			cursorSlide(e);
	
		});
		
	}

}

function cursorSlide(e) {

	e = (window.event)? event : e;
	
	var objW = jQuery("#slideshow-enter").width();

	var newX = e.clientX - Math.ceil(objW/2) + 2;
	var newY = e.clientY + 50;

	jQuery("#slideshow-enter").css("left",newX+"px");
	jQuery("#slideshow-enter").css("top",newY+"px");
	
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



// Menu hover FX:

function menuFX() {

	if (jQuery("a.level-1 img").length > 0) {
	
		jQuery("a.level-1 img").mouseover(function() {

			jQuery(this).animate( { opacity: 0.6 }, 30, function() {
			
				jQuery(this).animate( { opacity: 1.0 }, 400);
			
			});
				
		});
	
	}
		
	if (jQuery(".level-2 li").length > 0) {
	
		var lis = jQuery(".level-2 li");
	
		for (var i = 0; i < lis.length; i++) {
		
			if (jQuery(lis[i]).find(".menu-space").length == 0) {
		
				var txtw = jQuery(lis[i]).find("a").width();
			
				jQuery(lis[i]).css( { width: txtw+12+"px" } );
		
			}
			
			if (jQuery(lis[i]).find("a").hasClass("active") == true) {
			
				jQuery(lis[i]).find("a").css( { fontWeight: "bold" } );
			
			}
		
		}
	
	}

}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

jQuery(document).ready(function() {

winh = jQuery(window).height();

if (winh < switchHeight) {
	
	jQuery("body#ahpbody").addClass("ahpbody-small");

}

preloadUI(0);

// Fade Out Links:

var fadeOutLinks = new Array("a.internal","img.internal");
	
for (var i = 0; i < fadeOutLinks.length; ++i) {
	
	jQuery(fadeOutLinks[i]).click(function(e) {
		
		var target = jQuery(this).attr("href");
		e.preventDefault();
		unloadPage(target);
	
	});
	
}

// Disable Tooltips:

var allLinks = jQuery("a");

for (var l = 0; l < allLinks.length; l++) {

	if (jQuery(allLinks[l]).attr("title").length != -1) {
	
		jQuery(allLinks[l]).attr("title","");
	
	}

}

if (iPad == 1) {

	jQuery("#menu").css( { opacity: 0.0 } );

}

// Prepare menu:

menuFX();

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

});



jQuery(window).load(function() {

// put all imgs != zoom in array for layout switch:

var imgsTmp = jQuery("img");

for (var i = 0; i < imgsTmp.length; i++) {

	if (jQuery(imgsTmp[i]).hasClass("zoom") == false) {

		allImgs[allImgs.length] = imgsTmp[i];

	}

}

var imgsTmp = null;

// - - -


if (iPad == 1) {

	if (jQuery("#thumbs-wrapper").length > 0) {

		setTimeout(function () {
			
			thumbScroll = new iScroll('thumbs-wrapper');
		
		}, 100);
	
	}

}




	if (jQuery(".thumbs-wrapper").length > 0) {
	
		imageCount = jQuery(".thumb-container").length;
		
		////speak("imageCount: "+imageCount);
	
		if (window.location.hash != "") {
		
			jQuery("#thumbs-wrapper").css("display","none");
				
			if (window.location.hash.indexOf("/") != -1) {
				
				hash = Math.round(window.location.hash.substr(2));
				
			}else if (window.location.hash.indexOf("!/") != -1) {
			
				hash = Math.round(window.location.hash.substr(3));
			
			}else{
			
				hash = Math.round(window.location.hash.substr(1));
			
			}

			if (hash > 0 && hash <= imageCount) {

				// hash o.k.
				////speak("hash: "+hash);
				
				jQuery("#menu").css( { display: "none" } );
					
			}else{
						
				hash = 1;
				////speak("hash: "+hash);
				jQuery("#menu").css( { display: "none" } );
							
			}
						
		}

		jQuery("#content").fadeIn(aniSpeed2);
		
		if (hash == 0) {

			jQuery("#menu").css( { display: "block" } );
			jQuery("#menu").css( { opacity: 1.0 } );
			//jQuery("#thumbs-wrapper").fadeIn(aniSpeed2);

		}

		galleryStart();

	}else if (jQuery(".slideshow").length > 0) {
	
		slideshow = 1;
		imageCount = jQuery(".thumb-container").length;
		////speak("imageCount: "+imageCount);
		jQuery("#content").css("z-index",20).fadeIn(aniSpeed2);
		galleryStart();
	
	}else{

		jQuery("#loading").css("display","none");
		jQuery("#content").fadeIn(aniSpeed2);
		jQuery("#menu").css( { display: "block" } );
		jQuery("#menu").css( { opacity: 1.0 } );
	
	}

layout();

});
