$(document).ready(function() {
    initializeMessages();
    initializeVerticalTabs();
    initTopMenu();
    initializeActionBlocks();
    
    initializeFormValidation();
    initializeMainNavigation();
});

/**
 * Initialize topmenu 
 * Fix the width of the submenus
 */
initTopMenu = function(){ 
    var topMenuContent  = $('#topmenu .content');
    var topMenu         = $('#topmenu');
	// Er gaat iets fout in IE dus even iets breder maken :)
	if(navigator.appName!="Microsoft Internet Explorer") {
    	var topMenuContentPadding = topMenuContent.outerWidth() - topMenuContent.width();
	} else {
		var topMenuContentPadding = topMenuContent.outerWidth() - topMenuContent.width()-1;
	}
    
    topMenuContent.width(topMenu.outerWidth(false) - topMenuContentPadding);  
}

/**
 * Initialize top messagebox
 */
initializeMessages = function(){
     var messages = $('#messages');
    
    messages.children('.message').each(function(){
        var content = $(this).html();
        content = content.replace(/^\s+|\s+$/g, '');
        if(content.length > 0){
            messages.slideDown(200, function(){
                
            });
            return;
        }
        
    });
}

/**
 * Initialize homepagevisuals container
 */
initializeVerticalTabs = function(){    
    /**
     *Verticaltabs options see:
     *http://khwebdesign.net/blog/vertical-tabs-a-jquery-plugin/
     */
    $(".homepageVisualsContainer").verticaltabs({
        activeIndex: 0,
        slideShow: true,
        slideShowSpeed: 3000
    });
}

/**
 * Initialize form validation
 */
initializeFormValidation = function(){
    
    var translation = new Array($.i18n._("required"),$.i18n._("email_invalid"));
 
    $('.topMenuForms').each(function(){
        $(this).validate();
    });

    $('#topmenu .required').each(function(index) {
        $(this).rules("add", {
            messages: {
                required: translation[0],
                email: translation[1]
            }
        });
    }); 
}

/**
 * initializeActionBlocks
 * Adding mouseover and mouseout events
 * and effects
 */
initializeActionBlocks = function(){
    var className = 'hover';
    var actionBlocks = $('.actionBlock');
    
    actionBlocks.mouseover(function(){
        $(this).addClass(className);
    });
    
    actionBlocks.mouseout(function(){
        $(this).removeClass(className); 
    });
}


initializeMainNavigation = function(){
    
    var margin = 20;
    
    placeMenu = function(object){
        var objectOffset = object.offset();
        if(objectOffset == null)
            return ;
 
        var bodyWidth = $('body').width();
        if((objectOffset.left + object.outerWidth()) > bodyWidth){
            var left = bodyWidth - object.outerWidth() - margin;
            object.offset({left: left});
        }  
    }
    
    var navigation = $('#mainNavigation ul');
    var navigationItems = $("#mainNavigation ul li.level1");
    
    navigationItems.hover(function(){  
        $(this).children('ul').show();
        placeMenu($(this).children('ul'));
        
    },function(){   
        $(this).children('ul').hide();
    });
    
    //Adding shadow to submenu
    $(navigationItems).children('ul').append('<div class="menuShadow"></div>');
    

    
    


}










