var center;

var curSlide = 2;
var preSlide = 1;
var maxSlides = 10;
var page = 0;
var lastPage = 0;
var slideSize = 1100;
var animationTime = 1024;
var goingUp= true;
var lastPage = -1;
var firstPage = true;
noFancy = false;

   // Simple log
  	var back;
    var log = function(msg) {
        if (!$('.log').size()) {
            $('<div class="log" />').appendTo('.page');
        }
        $('.log').append(msg.replace(/^([^:]*):(.*)$/, '<p><b>$1:</b> <span class="$1">$2</span></p>'))
            .attr({scrollTop: $('.log').attr('scrollHeight')})
            .find('p:nth-child(even)').addClass('even');
    };
up = function(boo){
			goingUp = boo;
		};
    // Event handlers
$.address.init(function(event) {
	log('init: "' + event.value + '"');
	$('#nav').address(function() {
		return $(this).attr('href').replace(location.pathname, '');
	});
	//get the page names
	arr = $('.navigation.v.t li').map(function(){
		return $(this).text().toLowerCase() ;
	}).get();
    

}).change(function(event) {
		log('change: "' + event.value + '"');
		var text = (event.value == '') ? 'Home' : 
		event.pathNames[0].substr(0, 1).toUpperCase() + 
		event.pathNames[0].substr(1);
           
		var doSerie = function(_numbThumbs) {
        		$('.dn strong').text(event.pathNames[0]);
            	var serieNumber = Number(event.pathNames[1]);
            	var totalThums =_numbThumbs;
            	
            	//where are we now?
            	currentPageNumber = jQuery.inArray( event.pathNames[0], arr);
            	
            	
            	gotoSlide(curSlide);
            	if(currentPageNumber==arr.length-2){
					currentPageNumber = -1;
				}
				
            	$('a.upButton').attr('href','/'+arr[currentPageNumber+1]+"/0");
            	
            	if(currentPageNumber==-1){
					currentPageNumber = arr.length-2;
				}
            	if(currentPageNumber==0){
					currentPageNumber = arr.length-1;
				}
            	
				$('a.downButton').attr('href','/'+arr[currentPageNumber-1]+"/0");
				
				//
            	if(serieNumber+1>=totalThums/6){
            		$('a.navigation.h.r').css('right', 0).animate({right: '-200px'}, animationTime,'easeInSine');
            	}else{
            		$('a.navigation.h.r').css('right',$('a.navigation.h.r').position().right).animate({right: '0'}, animationTime,'easeInSine');
            		$('a.navigation.h.r').attr('href','/'+event.pathNames[0]+"/"+(serieNumber+1));
            	}
            
            	if(serieNumber==0 ){
            			$('a.navigation.h.l').css('left', 0).animate({left: '-200px'}, animationTime,'easeInSine')
            	}else{
            		$('a.navigation.h.l').css('left',$('a.navigation.h.l').position().left).animate({left: '0'}, animationTime,'easeInSine');
            		$('a.navigation.h.l').attr('href','/'+event.pathNames[0]+"/"+(serieNumber-1));
            	}
				
				
				
				lastPage = currentPageNumber;
				
		};
				
		var handler = function(data) {
					
          	//$('#backstretch').hide();
            	
            	
            	
            	if(event.pathNames[0]){
            		if($('#front_content').length){
            			$('#backstretch').fadeOut('slow').remove();
            			$('#wrapper').fadeIn('slow');
            			$('.navigation').fadeIn('slow');
            			
            			$('#front_content').fadeOut('slow').remove();
            		}
            		$('#gallery').html($('#gallery', data).html());
            	
            		curSlide = Number(event.pathNames[1]);
            		doSerie( Number($(".test").text()) );
            	}else{
            		$('#wrapper').hide();
            		$('.navigation').hide();
            		$('#backstretch').show();
            		$('#front_content').delay(100).fadeIn(300);
            		$('#logo').delay(400).fadeIn(300);
            		$('#front_content .navigation').delay(1000).fadeIn(300);
            		$("#front_content .navigation.v ul").show();
            		$("#front_content .navigation.v").removeClass("hover");
            		$("#front_content .navigation.h").removeClass("hover");
		
            	}
            	
            	
            	
            	
            	
            	if(event.pathNames[0]=='kontakt'){
            		$.getScript('scripts/kontakt.js', function() {})
            		noFancy = true;
        	 	}else{
        	 		noFancy = false;
        	 	}
        	 	
            	//slideSize = $('#gallery').width();
            	var temp = curSlide;
					if(temp > maxSlides)
					{
					temp = 1;
					} 
					else if (temp < 1)
					{
					temp = _n;
					}
            	
            	
            	//$('.1').show();
            	//$(document).$('.1').ready(function(){
            	
            	
            	//	alert(">?");
            	//});
            	//$('#suppe').html($('#suppe', data).html());
            	//$('.content').html($('.content', data).html());
            	//$('.page').show();
         	  // $.address.title(/>([^<]*)<\/title/.exec(data)[1]);
        	};
			
			$.ajax({

            url: "index.php",
            type:"POST",
            async: false,
            data:"offset="+event.pathNames[1]+"&area="+event.pathNames[0],
            error: function(XMLHttpRequest, textStatus, errorThrown) {
               // handler(XMLHttpRequest.responseText);
            },
            success: function(data, textStatus, XMLHttpRequest) {
            	//alert(event.pathNames[0]);
            	handler(data);
            	
            }
            
        });
        
        $('li').each(function() {
            $(this).toggleClass('marked', $(this).text() == text);
        });
    }).internalChange(function(event) {
    
        log('internalChange: "' + event.value + '"');
    }).bind('externalChange', {msg: 'The value of the event is "{value}".'}, function(event) {
        log('externalChange: ' + event.data.msg.replace(/\{value\}/, event.value));
    });
    




$(window).resize(function() {
  setCenter();
});

$(document).ready(function(){
		
		
		$(".navigation.v ul").hide();
		$(".navigation.v").hover
		(
			function()
			{
				$(this).find("ul").show();
			},
			function()
			{
				$(this).find("ul").hide();
			}
		);
		
		$(".navigation.h div span").hide();
		$(".navigation.h").hover
		(
			function()
			{
				$(this).find("div span").show();
			},
			function()
			{
				$(this).find("div span").hide();
			}
		);
		//$("#front_content").delay(200).fadeIn(200);
			$("#front_content .navigation.v").unbind('mouseenter').unbind('mouseleave')
            $("#front_content .navigation.h").unbind('mouseenter').unbind('mouseleave')
		//gotoSlide(0);
	}
);

function init ()
{
	setCenter();
	
}

function shiftSlide (next)
{
	var temp = curSlide + next;
	if(temp > maxSlides)
	{
		temp = 1;
	} 
	else if (temp < 1)
	{
		temp = maxSlides;
	}
	gotoSlide(temp, -next);
}

function gotoSlide (num, force)
{	
	
	
	
	curSlide = num;

	// Animate slide out
	var dir = getDirection(force);
	//alert(curSlide);
	slideSize = $("."+curSlide).width();
	
	if(goingUp=='nix'){
	$("."+preSlide).show().css('left',center + 'px').animate({left: center + (center + slideSize * .5) * dir[1]}, animationTime,'easeOutExpo'/* , function(){loadSlide(dir);} */);
	}
	loadSlide(dir);
	// Fade loader in
	$("#loader").fadeIn(200).delay(2000).fadeOut(200);
	
}
function gotoPage (num, force)
{
	curSlide = 0;
	$("."+curSlide).show();//.css('left',center + 'px').animate({left: center + (center + slideSize * .5) * dir[1]}, animationTime,'easeOutExpo'/* , function(){loadSlide(dir);} */);
	preSlide = curSlide;
}

function getDirection (force)
{
	if(force) return [force, -force];
	return curSlide - preSlide > 0 ? [1, -1] : [-1, 1];
}

function loadSlide (dir)
{	

	// Fade loader out
	

	// Load images
	/* WHEN LOADED */
		
		
		// Animate slide in
		if(goingUp=='nix'){
		$("."+curSlide).show().css('left', center + (center + slideSize * .5)  * dir[0]).animate({left: '50%'}, animationTime,'easeOutExpo');
		}else{
		$("."+curSlide).show().css('left', center + (center + slideSize * .5)  * dir[0]).animate({left: '50%'}, 0,'easeOutExpo');
		}
		// Activate fancybox
		//alert(event.pathNames[0]);
		
		//if(noFancy){
		$("#imgg a").fancybox({
			'overlayColor' : '#000',
			'hideOnContentClick' : true,
			'padding' : 0,
			'margin' : 20
		});
		//};
		if(goingUp=='up'){
		
		//animationTime = 0;

			/*
$("#gallery2").remove();
			$('<div id="gallery2"></div>').insertAfter('#gallery');
			$('"#gallery"').clone(true).prependTo('#gallery2');
            		$("#gallery2").css('top', $(window).height()).animate({top: '50%'}, 1100,'easeOutExpo',function(){} );
*/
			//alert('up'+' lastPage:'+lastPage+' currentPageNumber:'+currentPageNumber);
            			$("#gallery .0").css('top', $(window).height()).animate({top: '50%'}, 1100,'easeOutExpo',function(){} );
            		}else if(goingUp=='down'){
            			$("#gallery .0").css('top', -840).animate({top: '50%'}, 1100,'easeOutExpo',function(){});
            		}
		preSlide = curSlide;
		
}

function setCenter ()
{
	center = $(window).width() * .5;
}


init();
