$(document).ready(function(){
	
	/*variablen setzen */
	var cont= 570;

	var slide= 660;
	
	cont= 570;
	

	
	var slidew=0;
	var position = new Array();
	var pos=0;
	var altpos=0;

	var tumbl=0;
	var tumbh=0;
	var tumbz=0;
	
	/* bilder und distanzen rechnen */
	$('div.tumb a img').each(function(i){
		position[i]= slidew;
		slidew += slide;
		tumbz +=1;
		$(this).attr('id',"tumbi"+i);
	});
	
	tumbl =160 + 10;
	
	/* startmasse definieren */
	var abstand = tumbl + 2;
	var spaltenz = Math.floor(cont / abstand);
	var zeilenz = Math.ceil(tumbz / spaltenz);
	var menupos=0;
	var fensterz=1;
	var abstand= cont - (spaltenz * tumbl);
	abstand= Math.floor(abstand / (spaltenz -1));
	
	if (abstand > 10) {
		tumbh =120 + 10 + 10;
		$('.tumb').width(cont + abstand).css({'padding-top' : '10px'});
		$('.tumb a img').animate({marginRight:[abstand]+'px', marginBottom:[10]+'px'},450);
	}else{
		tumbh =120 + 10 + abstand;
		$('.tumb').width(cont + abstand).css({'padding-top' : [abstand]+'px'});
		$('.tumb a img').animate({marginRight:[abstand]+'px', marginBottom:[abstand]+'px'},450);
	};
	
	$('#slides').width(tumbz * slide);
	$('#tumbfenster').animate({height:[fensterz * tumbh]+'px'},450);
	$("#tumbfenster a").attr('href', "#tumbfenster");
		
	/* menüfenster funktion nach unten */

	$('.untenz').click(function(){
		if (menupos + fensterz < zeilenz) {
			if (fensterz + fensterz + menupos - 1 < zeilenz) {
				menupos += fensterz;
			}else{
				menupos +=1;
			};
			$('.tumb').animate({marginTop:-[menupos * tumbh]+'px'},200);
		};
	});
	/* menüfenster funktion nach oben */
	$('.hochz').click(function(){
		if (menupos > 0) {
			if (menupos - fensterz + 1 > 0) {
				menupos -= fensterz;
			}else{
				menupos -=1;
			};
			$('.tumb').animate({marginTop:-[menupos * tumbh]+'px'},200);
		};
	});
	/* menüfenster funktion alles zeigen */
	$('.allez').click(function(){
		if (fensterz == 1) {
			menupos = 0;
			fensterz=zeilenz;
			$(this).html("minimieren");
			$("#tumbfenster a").attr('href', "#navunten");
			$('.tumb').delay(200).animate({marginTop:-[menupos * tumbh]+'px'},zeilenz*50+100);
			$('#tumbfenster').delay(200).animate({height:[fensterz * tumbh]+'px'},zeilenz*50+100);
		}else{
			menupos = Math.floor(pos / spaltenz);
			fensterz=1;
			$(this).html("&Uuml;bersicht");
			$("#tumbfenster a").attr('href', "#tumbfenster");
			$('.tumb').delay(200).animate({marginTop:-[menupos * tumbh]+'px'},zeilenz*50+100);
			$('#tumbfenster').delay(200).animate({height:[fensterz * tumbh]+'px'},zeilenz*50+100);
		};
		
	});
	/* menüfenster funktion auf slide klicken */
	$('.slide a').click(function(e){
		if (fensterz == 1) {
			if (pos + 1 < tumbz) {
				pos +=1;
				menupos = Math.floor(pos / spaltenz);
				$('.tumb').delay(250).animate({marginTop:-[menupos * tumbh]+'px'},250);
				$(".aktivtumb").addClass("gesehen").removeClass("aktivtumb");
				$('#slides').animate({marginLeft:-position[pos]+'px'},300);
				$("img#tumbi"+pos).addClass("aktivtumb").removeClass("gesehen");
				e.preventDefault();
			};
		};
	});
	/* menüfenster funktion bild weiter */
	$('.bildw').click(function(){
		if (pos + 1 < tumbz) {
			pos +=1;
			if (fensterz == 1) {
				menupos = Math.floor(pos / spaltenz);
				$('.tumb').delay(350).animate({marginTop:-[menupos * tumbh]+'px'},250);
			};
			$(".aktivtumb").addClass("gesehen").removeClass("aktivtumb");
			$('#slides').animate({marginLeft:-position[pos]+'px'},300);
			$("img#tumbi"+pos).addClass("aktivtumb").removeClass("gesehen");
		};
	});
	/* menüfenster funktion nach zurück */
	$('.bildz').click(function(){
		if (pos > 0) {
			pos -=1;
			if (fensterz == 1) {
				menupos = Math.floor(pos / spaltenz);
				$('.tumb').delay(350).animate({marginTop:-[menupos * tumbh]+'px'},250);
			};
			$('#slides').animate({marginLeft:-position[pos]+'px'},300);
			$(".aktivtumb").addClass("gesehen").removeClass("aktivtumb").prev().addClass("aktivtumb");
			$("img#tumbi"+pos).addClass("aktivtumb").removeClass("gesehen");
		};
	});
	/* tasten einfärben */
	$("span").mouseover(function(){
     	$(this).addClass("neu");}).mouseout(function(){
      	$(this).removeClass("neu");
    });
    
    /* tastaturnavigation */
   $(document).keyup(function (event) {
   		 /* zurück */
	    if (event.keyCode == 37) {
		      if (pos > 0) {
				pos -=1;
				if (fensterz == 1) {
					menupos = Math.floor(pos / spaltenz);
					$('.tumb').delay(350).animate({marginTop:-[menupos * tumbh]+'px'},250);
				};
				$(".aktivtumb").addClass("gesehen").removeClass("aktivtumb");
				$('#slides').animate({marginLeft:-position[pos]+'px'},300);
				$("img#tumbi"+pos).addClass("aktivtumb").removeClass("gesehen");
			};
		 /* weiter */
	    } else if (event.keyCode == 39) {
		     if (pos + 1 < tumbz) {
				pos +=1;
				if (fensterz == 1) {
					menupos = Math.floor(pos / spaltenz);
					$('.tumb').delay(350).animate({marginTop:-[menupos * tumbh]+'px'},250);
				};
				$(".aktivtumb").addClass("gesehen").removeClass("aktivtumb");
				$("img#tumbi"+pos).addClass("aktivtumb").removeClass("gesehen");
				$('#slides').animate({marginLeft:-position[pos]+'px'},300);
			};
	    }; 
	  });
		
		/* navigation einblenden */
     	if (zeilenz > 1) {
			$(".aus").addClass('jnav').removeClass("aus").css('cursor', 'pointer');
		};
		
		/* menu aus */
		
		$("#container").mouseover(function(){
			var container = $('#container').height();
			var primary = $('#primary').height();
			if (container < primary) {
				 $('.menu2').animate({
			        height: 'hide',
			        opacity: 'hide'
			    }, 'slow');
		    }; 
		});
	     	
	    $("#primary").mouseover(function(){
	    	 $('.menu2').animate({
		        height: 'show',
		        opacity: 'show'
		    }, 'slow');
	    });
		
		/* ankerlinks neu setzen */
		$("img#tumbi"+pos).addClass("aktivtumb");
		$("#slides a,#navunten a,.menufenster a").attr('href', "#tumbfenster");
		
		/*klicken auf vorschaubild */
		$('div.tumb a').click(function(e){
			pos = $(this).prevAll('div.tumb a').length;
			$(".aktivtumb").addClass("gesehen").removeClass("aktivtumb");
			$("img#tumbi"+pos).addClass("aktivtumb").removeClass("gesehen");
			e.preventDefault();
		});
		
		/* weich scrollen */
		$('a[href*=#]').bind("click", function(event) {
			event.preventDefault();
			var ziel = $(this).attr("href");
	           if ($.browser.opera) {
	              var target = 'html';
	           }else{
	              var target = 'html,body';
	           }
			$(target).animate({
				scrollTop: $(ziel).offset().top
			}, 400 , function (){location.hash = ziel;});
			altpos= Math.abs(altpos - pos);
			if (fensterz == 1) {
				$('#slides').animate({marginLeft:-position[pos]+'px'},altpos*100+400);
			}else{
				$('#slides').delay(400).animate({marginLeft:-position[pos]+'px'},altpos*100+400);
			};
			altpos=pos;
		});

});