$(document).ready(function() {
    
    // LIBRARY GALLERY
          
    if ($('#library_gallery').position() != null) {
            
        var visible_gallery   = $('#library_gallery'); 
        var invisible_gallery = $('#library_gallery_clone');
        
        var visible_left   = visible_gallery.position().left;
        var invisible_left = invisible_gallery.position().left;
        
        var item_width = $('.library_gallery_item').width();
        var item_count = $('#library_gallery .library_gallery_item').length;
        var gal_width  = item_count * (item_width + 10);
        
        var animating = true;
        
        // Thumbnails
        
        $('#library_next').click(function() {
            
            if (visible_gallery.position().left == (gal_width * -1) + (3 * (item_width + 10))) {
                invisible_gallery.css({ display: 'block', left: 3 * (item_width + 10) });    
            }      
            
            if (invisible_gallery.position().left == (gal_width * -1) + (3 * (item_width + 10))) {
                visible_gallery.css({ left: 3 * (item_width + 10) }); 
            }
            
            if (animating) {
                animating = false;
                visible_gallery.animate({ left: visible_gallery.position().left - 184 + 'px' }, 500, null, function() { animating = true; }); 
                invisible_gallery.animate({ left: invisible_gallery.position().left - 184 + 'px' }, 500, null, function() { animating = true; });
            }
            
        });
        
        $('#library_prev').click(function() { 
         
            if (visible_gallery.position().left == 0) {
                invisible_gallery.css({ display: 'block', left: gal_width * -1 });
            }
            
            if (invisible_gallery.position().left == 0) {
                visible_gallery.css({ left: gal_width * -1 });
            }
            
            if (animating) {
                animating = false;
                visible_gallery.animate({ left: visible_gallery.position().left + 184 + 'px' }, 500, null, function() { animating = true; });
                invisible_gallery.animate({ left: invisible_gallery.position().left + 184 + 'px' }, 500, null, function() { animating = true; });
            }
        }); 
        
        // SHOW / HIDE PROJECT INFO
        var anim_thumb = true;
        var anim_id    = null;
        
        $('.library_gallery_item').mouseover(function() {
            if ($(this).attr('id') != anim_id || anim_thumb) {
                anim_thumb = false;
                $(this).find('div').animate({ top: '0px' }, 100, null, function() { anim_thumb = false; anim_id = $(this).attr('id'); });
            }
        });
        
        $('.library_gallery_item').mouseleave(function() {
            //if (!anim_thumb) {
                $(this).find('div').animate({ top: '76px' }, 100, null, function() { anim_thumb = true; });
            //}
        });
    }         
        
    // IMAGE GALLERY
    
    if ($('#image_gallery').position() != null) {
       
        var visible_img   = $('#image_gallery');
        var invisible_img = $('#image_gallery_clone'); 
         
        var img_width = 720; //$('.image_item').width();
        var img_count = $('#image_gallery .image_item').length;
        var img_gal_width  = img_count * img_width;
        
        var img_animating = true;
                
        // reset clone gallery position       
        invisible_img.css({ left: img_gal_width });                
                                          
        $('#image_next').click(function() {
            
            if (visible_img.position().left == (img_gal_width * -1) + img_width) {
                invisible_img.css({ display: 'block', left: img_width });    
            }      
            
            if (invisible_img.position().left == (img_gal_width * -1) + img_width) {
                visible_img.css({ left: img_width }); 
            }
            
            if (img_animating) {
                img_animating = false;
                visible_img.animate({ left: visible_img.position().left - 720 + 'px' }, 500, null, function() { img_animating = true; });
                invisible_img.animate({ left: invisible_img.position().left - 720 + 'px' }, 500, null, function() { img_animating = true; });   
            }
                                                                                         
        }); 
        
        $('#image_prev').click(function() {
            
            if (visible_img.position().left == 0) {
                invisible_img.css({ display: 'block', left: img_gal_width * -1 });
            }
            
            if (invisible_img.position().left == 0) {
                visible_img.css({ left: img_gal_width * -1 });
            }
            
            if (img_animating) {
                img_animating = false;
                visible_img.animate({ left: visible_img.position().left + 720 + 'px' }, 500, null, function() { img_animating = true; });
                invisible_img.animate({ left: invisible_img.position().left + 720 + 'px' }, 500, null, function() { img_animating = true; });
            }
            
        });
        
    }
           
    // SHOW HIDE TEXT OVERLAY
    
    if ($('#image_overlay').position() != 0) {
        $('#overlay_close').click(function() {
            $('#image_overlay').css("display", "none");    
            $('#overlay_close').css("display", "none");    
        });
        
        $('#image_gallery').click(function() {
            $('#image_overlay').css("display", "block");    
            $('#overlay_close').css("display", "block");    
        });
        
        $('#kontakt .image_container').click(function() {
            $('#image_overlay').css("display", "block");    
            $('#overlay_close').css("display", "block");    
        });
        
        $('#image_gallery_clone').click(function() {
            $('#image_overlay').css("display", "block");    
        });    
    }    
             
    if ($('#close_btn').position() != 0) {
        
    }             
             
});  
