if (!window.console) {
    window.console = {
    	debug: function(){},
        log: function () {},
        group: function () {},
        error: function () {},
        warn: function () {},
        groupEnd: function () {}
    };
}

var baseUrl = window.location.protocol + '//' + window.location.host;
var locale = document.getElementsByTagName( 'html' )[0].getAttribute( 'xml:lang' );


var Cmi = (function(){
	
	function init(){
		_initNav();
		_initNews();
		_initBlocks();
		_initProducts();
		_initMarketsList();
		_initGalleries();
		_cssHacks();		
               
	}
	
	function _initNav()
	{
		//$('#leftCol ul.navigation > li:not(.active) > ul:gt(0),#leftCol ul.navigation > li > ul > li > ul').hide();
		
		var menuToggle = $('<span />').addClass('toggle');
		var menuNoToggle = $('<span />').addClass('noToggle');
		
		$('.sideCol ul.navigation li:has( > ul)').prepend( menuToggle );
		$('.sideCol ul.navigation li').not(':has( > ul)').prepend( menuNoToggle );
		
		
		$('#leftCol ul.navigation')
			. delegate( 'span.toggle','click',function(){
				var el = $(this).parents('li:eq(0)');
				
				$('> ul',el).toggle();
				$(el).toggleClass('active');		
		});
		
		if ($('#leftCol ul.navigation li.active').length == 0){
			$('#leftCol ul.navigation > li:eq(0)').addClass('active');
		}
		
		//console.debug($('body.reader #contentWrapper a'));
		
		$('body.reader #contentWrapper a').attr('target','_top');
		
	}
	
	function _initBlocks()
	{
		
		$('#rightCol > .block').each(function(){
			var el = $(this); // le bloc
			
			var b = el.height();  // hauteur bloc
			var head = $('> header',el); // header du bloc
			var h = head.outerHeight(); // hauteur du header
			
			head.append('<span class="toggle">[+]</span>');
			
			//el.data('headerHeight',h) .data('blockHeight',b);
			  
			if($(el).hasClass('news') || ( $(el).hasClass('marketsList') && $(el).has('.relatives').length > 0)){
				$('span.toggle',head).text('[–]');				
			}else{
				el.addClass('closed'); //.css({'height':h})
			}
			
			
		})
		
		$('#rightCol > .block').delegate('header span.toggle','click',function(){
			var el = $(this).parents('.block')[0];
			
			if($(el).hasClass('closed')){
				//$(el).removeClass('closed');
					//.animate({'height':'auto'},500)
				$(this).text('[–]');
				
			}else{
				//$(el).addClass('closed');
					//.animate({'height':0},500)
				$(this).text('[+]');
			}
			
			$(el).toggleClass('closed');
		});
		
		
		
	}
	
	function _initMarketsList()
	{
		$('.sideCol .marketsList:has(.relatives) ul.navigation').hide().addClass('closed');
		$('.sideCol .marketsList h3.marketsHeader').append('<span class="toggle">[+]</span>');
		$('.sideCol .marketsList')
			.delegate(' h3.marketsHeader > span.toggle','click',function(){
				$('.sideCol .marketsList ul.navigation').toggle().toggleClass('closed');
				if($('.sideCol .marketsList ul.navigation').hasClass('closed')){
					$(this).text('[–]');
				}else{
					$(this).text('[+]');
				}
			});
	}
	
	function _initNews()
	{
		
		/** Home News **/
		var newsContentSel = 'body.home section.news article:gt(0) div.content,body.home section.news article:gt(0) footer';
		
		$(newsContentSel).hide();
		$('body.home section.news article:gt(0)').addClass('closed');
		
		var newsToggle = $('<span />')
						.addClass('toggle')
						.addClass('more');
		
		$('body.home section.news article header').prepend(newsToggle);
		
		$('body.home section.news article').delegate('span.toggle','click',function(){
			
			var el = $(this).parents('article');
			
			if(el.hasClass('closed')){
				$('body.home section.news article:not(.closed) div.content, body.home section.news article:not(.closed) footer').hide();
				$('body.home section.news article:not(.closed)').addClass('closed');
				$('div.content,footer',el).show(300);
			}else{
				$('div.content,footer',el).hide(300);
			}
			el.toggleClass('closed');
			
		});
		//$('body.home section.news article:eq(0)')
			
		/*** Side News ***/
		$('#rightCol > div.news').addClass('cycle');
		$('#rightCol > div.news > .content > .newsList') 
			.after('<div id="nav">') 
			.cycle({ 
			    fx:     'fade', 
			    pager:  '#nav',
			    speed: 	800,
			    timeout: 4500,
			    fit: 1,
			    width: '200px',
			    pagerAnchorBuilder: function(){
			    	return '<a href="#">•</a>';
			    }
			});
	
	
		/*** news reader ***/
		$('#contentCol section.news, body.news #featured,#rightCol section.news,#rightCol > div.news').delegate('a.more,article header a','click',function(e){
			e.preventDefault();
			var el = $(this);
			var href = el.attr('href')+'?reader=1';
			
			$.colorbox({
				href: href,
				iframe: true,
				innerHeight: '100%',
				innerWidth: 540,
				innitialHeight: '100%',
				innitialWidth: 540
			});
			
		});		
		
		
		/*
		 * 
		 * 
		 */			
	}
	
	function _initProducts()
	{
		$('div.productCaracteristics').tabs();
	}
	
	function _initGalleries()
	{
		/** home page slideshow */
		$('body.home #featured') 
					.after('<div id="featuredNav">') 
					.cycle({ 
					    fx:     'fade', 
					    pager:  '#featuredNav',
					    speed: 	1000,
					    timeout: 3000,
					    fit: 1,
					    width: '710px',
					    height: '457px',
					    pagerAnchorBuilder: function(){
					    	return '<a href="#">•</a>';
					    }
					});
	
		 $("a.youtube").colorbox({iframe:true, innerWidth:640, innerHeight:480});
		 
		 $("a[rel='lightbox']").colorbox();
         var cBoxHGallery = $("a[rel='galleryheader']").colorbox({
         	scalePhotos	: true,
         		maxHeight: $(window).innerHeight() - 20,
         		maxwidth: $(window).innerWidth() - 20,
         		onComplete: function(){
         			$('<div />').css({
					    height: '100%',
					    width: '50%',
					    position: 'absolute',
					    left:'5px',
					    top:'0',
					    cursor:'pointer'
					})
					.click(function(e){
						e.preventDefault();
						e.stopPropagation();
						$.colorbox.prev();
						
					})
					.appendTo('#cboxContent');
         		}
         });
         $('div.banners span.more').bind('click' , function(e){
         	$("a[rel='galleryheader']").colorbox({
         		open : true
         	} );
            return false; 
         });
	}
	
	function _cssHacks()
	{
		//$('header.banners #bannerThumbs  > div,body.home header.sectors > div a.sector',$('html.no-borderradius')).addClass('ie-brRounded');
		
		/*var br = $('<span></span>').addClass('brRoundedBox').css({'position':'absolute','bottom':0,'right':0,'z-index':100});
		
		$('header.banners #bannerThumbs  > div',$('html.no-borderradius')).append(br).css({'position':'relative'});*/
				
	}
	
	
	function addLoadListener(func) 
	{ 
	   /* if (window.addEventListener) { 
	      window.addEventListener("load", func, false); 
	    } else if (document.addEventListener) { 
	      document.addEventListener("load", func, false); 
	    } else if (window.attachEvent) { 
	      window.attachEvent("onload", func); 
	    } */
	   $(document).ready(init);
	} 
	 
	if (document.getElementById && document.createTextNode) { 
	    addLoadListener(init); 
	} 
})();
