$(document).ready(function(){
    backgroundImages.init();
	
    fancyBox.init();
        
    if($('html').hasClass('ie7') !== true) {
        menu.init();
		
        $(window).resize(function(){
            menu.init();
        });
    }
        
    pagination.init();
        
    $('.tweet a').click('live',function(){
        $(this).attr('target','_blank');
    });
        
    projectImages.init();
    
    
});

var backgroundImages = {

    navigation : null,
    container : null,
    itemWidth : 970,
    timeoutID : null,
    timeout : 5000,
    slideSpeed : 1500,
	
    /**
	 * Init functie van dit object
	 */
    init : function() {
        this.navigation = $('#background-images-navigation');
        if(this.navigation.size() > 0) {
            this.navigation.find('a:first').addClass('current');
            this.navigation.find('a').live('click',function(){
                backgroundImages.slideTo(this);
                return false;
            });
            this.container = $('#background-images-container');
            this.autoSlide();
        }
    },
	
	
    /** 
	 * Slide naar een bepaalde div toe
	 */
    slideTo : function(o,s,b) {
		
        // Clear timeout
        clearTimeout(backgroundImages.timeoutID);
		
        // Manual slide
        if(typeof(o) === 'object') { 
            o = $(o);
        }
		
        // Auto slide
        else {
            o = backgroundImages.navigation.find('a.current');
            if(o.next().size() > 0) o = o.next();
            else o = backgroundImages.navigation.find('a:first');
        }
		
        backgroundImages.navigation.find('a.current').removeClass('current');
        o.addClass('current');
        s = backgroundImages.container.find('> div:lt('+o.index()+')');
        b = backgroundImages.container.find('> div:gt('+o.index()+'), > div:eq('+o.index()+')');
		

        /** BOF : CSS Animatie **/
        if(Modernizr.csstransitions === true) {
			
            // Inklappen van alle slides die ervoor staan
            s.addClass('shut');
			
            // Uitklappen van alle overige slides
            b.removeClass('shut');
            backgroundImages.animationCallback();
        } 
        /** EOF : CSS Animatie **/
		
        /** BOF : Javascript animatie **/
        else {
			
            // Inklappen van alle slides die ervoor staan
            s.animate({
                'width' : 0
            },backgroundImages.slideSpeed,'easeOutQuint',backgroundImages.animationCallback);
			
            // Uitklappen van alle overige slides
            b.animate({
                'width' : backgroundImages.itemWidth
            },backgroundImages.slideSpeed,'swing',backgroundImages.animationCallback);

        }
    /** EOF : Javascript animatie **/
    },
	
    /**
	 * Zorgt voor de eerste keer autoSlide
	 * De rest wordt gedaan door de slideTo functie
	 */
    autoSlide : function() {
        backgroundImages.timeoutID = setTimeout(backgroundImages.slideTo,backgroundImages.timeout);
    },
	
    /**
	 * Callback voor na de animatie
	 * Zorgt ervoor dat er weer een nieuwe timeout wordt geset
	 */
    animationCallback : function() {
        clearTimeout(backgroundImages.timeoutID);
        backgroundImages.timeoutID = setTimeout(backgroundImages.slideTo,backgroundImages.timeout);
    }
};

/**
 * 	Zorgt ervoor dat het menu altijd bovenaan blijft staan
 */
var menu = {
	
    item : null,
    offsetLeft : 849,
	
    containerWidth : null,
	
    init : function() {
				
        this.item = $('#navigation');
        this.containerWidth = $('#container').attr('clientWidth');
        this.left = (((menu.containerWidth - 1000)/2) + menu.offsetLeft);
		
        this.item.css({
            'position' : 'fixed',
            'left' : menu.left
        });
		
    }
};

var fancyBox = {
    
    items : null,
    
    init : function() {
        if(typeof($.fn.fancybox) !== 'undefined') {
            this.items = $('#ctright figure');
            this.items.each(function(a){
                a = $(this).find('.enlarge-image');
                $(this).fancybox({
                    'href' : a.attr('href'),
                    'title' : a.attr('title'),
                    'showCloseButton' : true,
                    'titlePosition' : 'inside',
                    'overlayColor' : '#ee8c21',
                    'padding' : 16,
                    'titleFormat' : function(title) {
                        var obj = $('<div id="fancybox-title-inside">' + title + '</div>');

                        if(title.length < 215) {
                            obj.css('height','36px');
                        } else {
                            obj.css('height','54px'); 
                        }
                        
                        return obj;
                    }
                   
                })
            });

        }
    }
    
};

var pagination = {
    
    items : null,
    blogitems : null,
    itemsToShow : 5,
    call : 0,
    
    init : function() {
        this.items = $('#pagination a');
        this.items.live('click',this.click);
        this.blogitems = $('#ctleft dl.blog-post');
    },
    
    click : function(o,b,i,f,t) {
        o = $(this);
        
        if(o.hasClass('current') === false) {
        
            i = o.index();
            f = (pagination.itemsToShow * i);
            t = (f + pagination.itemsToShow);

            pagination.items.removeClass('current');
            o.addClass('current');
            b = pagination.blogitems.filter(':not(.hidden)');

            b.animate({
                left : '0'
            },0,function(){
                pagination.call++;
                $(this).removeAttr('style'); 
                $(this).addClass('hidden');
                if(pagination.call == b.size()) {
                    pagination.blogitems.slice(f,t).css('display','none').removeClass('hidden').fadeIn(250);
                    pagination.call = 0;
                }
            });
        
        }
        return false;
        
    }
};

var projectImages = {
    
    mainImage : null,
    
    init : function() {
        this.mainImage = $('#project-images figure img');
        $('#project-images a').live('click',this.click);
    },
    
    click : function(o) {
        o = $(this);
        projectImages.mainImage.attr('src',o.attr('href'));
        projectImages.mainImage.attr('alt',o.attr('href'));
        return false;
    }
};
/* <!----
    @adjustment		Launch party formulier
    @reason		Opdracht van DieZit.
    @programmer 	Thom van den Hork
    @date 		2 augustus 2011 
 */
var LaunchPartyForm = {
    
    init : (function(){
        if($('#launch-party-form').size() > 0) {
            
            $('label.checkbox').bind('click',function(){
               $('label.checkbox').removeClass('checked');
               $('label.checkbox input').removeAttr('checked');
               $(this).addClass('checked');
               $(this).find('input').attr('checked',true);
            });
            
            $('#launch-party-form').submit(function(){
               $.get(ABS_URI + 'inhetnieuw/submit',{
                   'coming' : $('input[type=radio]:checked').val(),
                   'name' : $('input[name=name]').val(),
                   'company' : $('input[name=company]').val(),
                   'persons' : $('input[name=persons]').val()
               },function(result){
                   if(result.succes === true) {
                       $('#ctright').html(result.message);
                   }
               });
               return false; 
            });
        }
    })
}; $(document).ready(LaunchPartyForm.init); /** ----> **/

