(function($){

	// creates a HTML version of HomeBanner
	var homeBannerHTML = function() {
		
		// do all at document.ready event
		$(function(){
		    // construct background image cluster
		    $('.homeBanner_bkg2').css({display:'none', visibility:'hidden'});
			var src = $('.homeBanner_backgroundImage').attr('src');
			$('.homeBanner_backgroundImage').remove();
			$('<div>')
				.appendTo('.homeBanner_backgroundImage_placeholder')
				.css('background-image', 'url('+src+')');
			
			$('.homeBanner_overlay').each(function(){
				var src = $(this).children('img').attr('src');
				$('<div>').appendTo('.homeBanner_backgroundImage_placeholder')
					.css('background-image', 'url('+src+')')
					.css({display:'none', visibility:'hidden'});
			});
		
			// create overlayTitleBox
			$('.homeBanner_overlayTitle').wrap('<table class="homeBanner_overlayTitleBox"><tr valign="middle"><td></td></tr></table>');
			
			// round image corners on image cluster
			// and replace fonts at the very end
			$(window).bind('load', function(){
			    var ccSettings = {
			      tl: { radius: 20 },
			      tr: { radius: 0 },
			      bl: { radius: 20 },
			      br: { radius: 0 },
			      antiAlias: true
			    }		
			    $('.homeBanner_backgroundImage_placeholder > div').each(function(){
			    	curvyCorners(ccSettings, this);
			    	
				// replace fonts
				Cufon.replace('.homeBanner_shortIntro, .homeBanner_shortDescription, .homeBanner_overlayTitle, .homeBanner_overlayDescription.homeBanner_readMore, .homeBanner_item',
					{hover: false, fontFamily: 'VAG Rounded Std'});
					
				Cufon.replace('.homeBanner_readMore, .homeBanner_overlayReadMore', 
					{hover: true, fontFamily: 'VAG Rounded Std'});			
				});	
					    	
			});
			
			// construct item elements for meta-hover
			$('.homeBanner_item').each(function() {
				var $item = $(this);
				var $normal = $item.children('span');
				var $over = $normal.clone();
				$normal.addClass('homeBanner_item_normal');
				$over.addClass('homeBanner_item_over')
					.css({display:'none', visibility:'hidden'})
					.appendTo($item);
			});
			
			// force hasLayout to true (for IE)
			$('.homeBanner_readMore, .homeBanner_overlayReadMore, .homeBanner_item')
				.css('zoom', '1');
			
			// set overlay elements and bkg image as well as menu item meta-hover
			var setOverlay = function() {
				var $el = $(this);
				
				// determine the menu item position
				var items = $el.parent().parent().children();
				var item = $el.parent();
				var i;
				for (i=0; i<items.size(); i++) {
					if (item.get(0) == items.get(i))
						break;
				}
				
				// hide all overlay texts
				$('.homeBanner_overlay').css({display:'none', visibility:'hidden'});
				
				// and than switch on only the appropriate one
				var target = $('.homeBanner_overlay').get(i);
				$(target)
					.css({display:'block', visibility:'visible'});
				
				// also, switch on the appropriate image from image cluster
				var imgTarget = $('.homeBanner_backgroundImage_placeholder').children('div')
					.css({display:'none', visibility:'hidden'})
					.get(i+1);
				$(imgTarget).css({display:'block', visibility:'visible'});	
				
				$('.homeBanner_item_normal').css({display:'inline', visibility:'visible'});
				$('.homeBanner_item_over').css({display:'none', visibility:'hidden'});
				$el.children('.homeBanner_item_normal').css({display:'none', visibility:'hidden'});
				$el.children('.homeBanner_item_over').css({display:'inline', visibility:'visible'});
				$('.homeBanner_item').parent('li').css('color', '#dbbf11');
				$el.parent('li').css('color', 'white');
			};
			
			// attach listener for mouse-over menu item
			$('.homeBanner_item').bind('mouseenter', setOverlay);
			
			// hide default overlay at firt menu item selection
			$('.homeBanner_item').one('mouseenter', function(){
				$('.homeBanner_bkg, .homeBanner_shortDescription, .homeBanner_readMore')
					.css({display:'none', visibility:'hidden'});
				$('.homeBanner_bkg2').css({display:'block', visibility:'visible'});
			});
		});		
	}
	
	// creates a Flash version of HomeBanner
	var homeBannerFlash = function() {
        var params = {wmode:'transparent'};
        var flashvars = {
        configUrl:'/?altTemplate=HomePageFlashXMLServer'
        };
        var attributes = { id: "WijzerInGeldzaken", name: "WijzerInGeldzaken" };
        swfobject.embedSWF("/style/flash/WijzerInGeldzaken.swf", "homeBanner", "843", "304", "9.0.124", "/style/flash/expressInstall.swf", flashvars, params, attributes);
	}
	
	// checks if the required version of Flash is present
	// and decides between a Flash and HTML version of HomeBanner component
	if (swfobject.hasFlashPlayerVersion('9.0.124'))
    	homeBannerFlash();
	else
    	homeBannerHTML();
	
})(jQuery);